2015-12-21 49 views
-2

我主持一個德迪盒一個teamspeak 3服務器,我想成爲蘋果連接到具有多個IP的服務器這就是IP的是一個不同的VPS的,例如:如何用相同的gw製作多個GRE?


VPS-1 - >德迪服務器

VPS-2 - >德迪服務器

VPS-3 - >德迪服務器


因爲我將teamspek 3服務器綁定到本地GRE IP(在dedi-server中),所以有沒有辦法讓其他VPS的工作也能使用它?我會更清楚,如果我給你我用這樣做的命令:


iptunnel add gre1 mode gre local [dedi-public-ip] remote [VPS-1-Public-IP] ttl 255 
ip addr add 192.168.168.2/30 dev gre1 
ip link set gre1 up 
iptunnel add gre2 mode gre local [dedi-public-ip] remote [VPS-2-Public-IP] ttl 255 
ip addr add 192.168.10.2/30 dev gre2 
ip link set gre2 up 
echo '100 AAA' >> /etc/iproute2/rt_tables 
ip rule add from 192.168.10.0/30 table AAA 
ip route add default via 192.168.10.1 table AAA 
echo '100 BUYVM' >> /etc/iproute2/rt_tables 
ip rule add from 192.168.168.0/30 table BUYVM 
ip route add default via 192.168.168.1 table BUYVM 

我用這個教程來做到這一點:http://wiki.buyvm.net/doku.php/gre_tunnel


我認爲,如果我可以將流量從GRE-1路由到GRE-2或任何我只想要所有VPS的作品。

注:當我執行以下命令:

ip route add default via 192.168.168.1 table BUYVM 

這使得VPS-1允許我連接到一個已經綁定到這個IP的teamspeak服務器:192.168.168.2

回答

0

我建議你將「tos inherit」添加到ip tunnel命令中。這可能在「iptunnel」實用程序中不受支持,該實用程序非常過時。使用「IP隧道」。

您的RPDB配置不正確。表在內核中的區別是它們的編號,內核不知道關於rt_tables中名稱的任何信息。這些名稱僅適用於用戶空間「ip」實用程序。您爲同一個表100創建了兩個別名,而不是創建兩個路由表。如果你想使用RPDB功能,使用不同的號碼他們,而不是像這樣:

echo '100 AAA' >> /etc/iproute2/rt_tables 
echo '200 BUYVM' >> /etc/iproute2/rt_tables 

注意您必須刪除錯誤路線從rt_tables文件第一。

其次,您的RPDB規則必須使用VPS的公共地址,而不是GRE內部地址。即每個第N個 「白」(公共)IP配置應該是這樣的:

echo "20N local-N" >> /etc/iproute2/rt_tables 
ip tunnel add mode gre remote WHITE-REMOTE local WHITE-LOCAL-N tos inherit 
ip addr add VPN-LOCAL-N/30 
ip route add default via NEXTHOP-N table local-N 
ip rule add from WHITE-LOCAL-N lookup local-N 

的IP號碼,WHITE-LOCAL-N替代N - 分配給多宿主主機,NEXTHOP-N第N個公共IP地址 - 默認網關爲第N ip。

如果所有地址都來自單個網絡,並且您將它們分配給相同的接口(即分配給您192.0.2.6,192.0.2.15和192.0.2.66),並且您只有一個默認網關(例如,它可能是192.0.2.1),你根本不需要RPDB。

相關問題