1. 程式人生 > 其它 >讓只連了內網某臺機器A的機器B能上外網

讓只連了內網某臺機器A的機器B能上外網

外網 ---| 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