環境
對外防禦IP 49.x.x.x
廠商 gre public ip 106.x.x.x
廠商 gre pravite ip 10.10.10.1
本機 gre pravite ip 10.10.10.2
本機 gre public ip 98.x.x.x (ec2 EIP )
本機eth0 192.168.1.64
後端主機eth0 192.168.1.184
為了讓玩家透過對外防禦IP 49.x.x.x 訪問Gre Server後端的實際主機 (192.168.1.184)
需要透過iptables DNAT,SNAT,FORWARD來達到同進同出的效果
1. 允許ip fordword
vi /etc/systcl.conf
#新增
net.ipv4.ip_forward=1
2. 使ip_forward生效
systcl -p
3. 配置iptables
(預設fordward Accept ,所以不用配置規則)
vi iptables.sh
#清空設定
iptables -X
iptables -F
iptables -Z
iptables -t nat -X
iptables -t nat -F
iptables -t nat -Z
#input , output , forward 預設Accept
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
# SNAT讓封包正常回到gre tunnel
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to-source 192.168.1.64
# DNAT-讓訪問對外防禦IP 49.x.x.x:81的封包,目的端轉址為192.168.1.184:80
iptables -t nat -A PREROUTING -p tcp -d 49.x.x.x/32 --dport 81 -j DNAT --to-destination 192.168.1.184:80
4. 執行iptables shell
sh iptables.sh
5. 開機啟動
#存檔/etc/sysconfig/iptables
/etc/init.d/iptables save
#開機啟動
chkconfig iptables on
6.實現同進同出
#新增ip rule
/sbin/ip rule add from 192.168.1.184 lookup gre
沒有留言:
張貼留言