讓只連了內網某臺機器A的機器B能上外網
阿新 • • 發佈:2021-07-10
外網 ---| 192.168.2.2 |
| Server A |
| 192.168.1.2 |---| 192.168.1.1 |
| Server B |
伺服器A的設定
伺服器A
- 一個網絡卡 eno1 連線路由器能夠上外網,此處ip 192.168.2.2
- 一個網絡卡 eno2 連線伺服器B,此處ip 192.168.1.2
伺服器A的網絡卡配置 /etc/network/interfaces
auto eno1 iface eno1 inet static address 192.168.2.2 netmask 255.255.255.0 gateway 192.168.2.1 auto eno2 iface eno2 inet static address 192.168.1.2 netmask 255.255.255.0 gateway 192.168.1.1
網路重啟生效/etc/init.d/networking restart
配置 iptables 讓伺服器A做路由實現分享上網,參考https://blog.csdn.net/u010035474/article/details/38438001
iptables -A FORWARD -i eno2 -j ACCEPT #這兩個命令的目的是允許所有的包通過 eno2 iptables -A FORWARD -o eno2 -j ACCEPT iptables -t nat -A POSTROUTING -o eno1 -j MASQUERADE # #這條命令主要意思就是使用IP偽裝也就是NAT把來自 eno1 後面的包裡的地址偽裝成 eno1 的地址
如果要保證重啟後依然能用,以上三條iptables命令需要設定開機啟動。
伺服器B的設定
伺服器B的網絡卡 ma1 連線伺服器A的網絡卡eno2,ma1處的ip 192.168.1.1
伺服器B的網絡卡配置 /etc/network/interfaces
auto ma1
iface ma1 inet static
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.1.2
dns-nameservers 8.8.8.8
其路由
root@localhost:~/# ip route default via 192.168.1.2 dev ma1 192.168.1.0/24 dev ma1 proto kernel scope link src 192.168.1.1