让只连了内网某台机器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

网络重启生效/etc/init.d/networking restart

其路由

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
posted @ 2021-07-10 10:34  VeyronC  阅读(248)  评论(0编辑  收藏  举报