有三台機器, A 、B 、C,其中A機器有外網和內網IP,B和C只有內網,我們配置B和C二台機器通過A機器來上外網。
假設A機器 外網IP為: 60.12.13.14 內網IP為: 192.168.0.1
B機器IP為: 192.168.0.2
C機器IP為: 192.168.0.3
我們在B和C 二台機器上面,配置網卡配置文件,把A機器作為網關加進去。
修改
- vi /etc/sysconfig/network-scripts/ifcfg-eth1
添加:
- GATEWAY=192.168.0.1
然后重啟二台機器網絡
修改二台機器的DNS配置文件,把A機器一樣的DNS 加進來
添加:
保存即可。
我們在A機器上面配置 IPTABLES,添加SNAT
cd /usr/local/sbin/
vi iptables.sh
運行 腳本
這樣iptables.sh腳本里面的內容就被保存到
文件里面了。
在A機器上面,把IPTBALS 設置成開機啟動就可以了。
在A機器上面,打開IP轉發功能,修改sysctl.conf文件。
把
修改為:
然后執行:
使之生效。
一切就緒之后,可以在B和C二台機器上面,訪問外網,比如PING 外部IP和域名都通了。
方便通過YUM更新軟件,下載軟件啦。。
注:
我在操作過程當中,是先拿A和B二台機器操作的,當B可以訪問外網之后,發現通過A機器連不了C機器了,后來一直以為C機器有問題,就沒有做通過B機器去連C機器的嘗試。 之后通知機房重啟,發現還是沒有辦法通過A去連C,之后機房接顯示器通過本地物理機也是沒有辦法A連C,但IDC工程師有嘗試可以通過B來連C,而且都是通的,才發現是因為調整內網上網的事,沒有加網關造成的。 通過B連上C之后,加上網關,重啟網卡,A就可以連C了,而且C也可以上網了。折騰了一會,留個紀念。萬事多嘗試
- /etc/init.d/network restart
- vi /etc/resolv.conf
- nameserver 202.99.96.68 #DNS根據自己服務器所在進行相應修改
我們在A機器上面配置 IPTABLES,添加SNAT
cd /usr/local/sbin/
vi iptables.sh
- #!/bin/sh
- iptables -t nat -I POSTROUTING -s 192.168.0.0/24 -j SNAT --to-source 60.12.13.14
- iptables -A FORWARD -s 192.168.0.0/24 -j ACCEPT
- iptables -A FORWARD -d 192.168.0.0/24 -j ACCEPT
- /etc/init.d/iptables save
- sh iptables.sh
- /etc/sysconfig/iptables
在A機器上面,把IPTBALS 設置成開機啟動就可以了。
- chkconfig --level 345 iptables on
在A機器上面,打開IP轉發功能,修改sysctl.conf文件。
- vi /etc/sysctl.conf
- net.ipv4.ip_forward = 0
- net.ipv4.ip_forward = 1
- sysctl -p
一切就緒之后,可以在B和C二台機器上面,訪問外網,比如PING 外部IP和域名都通了。
方便通過YUM更新軟件,下載軟件啦。。
注:
我在操作過程當中,是先拿A和B二台機器操作的,當B可以訪問外網之后,發現通過A機器連不了C機器了,后來一直以為C機器有問題,就沒有做通過B機器去連C機器的嘗試。 之后通知機房重啟,發現還是沒有辦法通過A去連C,之后機房接顯示器通過本地物理機也是沒有辦法A連C,但IDC工程師有嘗試可以通過B來連C,而且都是通的,才發現是因為調整內網上網的事,沒有加網關造成的。 通過B連上C之后,加上網關,重啟網卡,A就可以連C了,而且C也可以上網了。折騰了一會,留個紀念。萬事多嘗試