内网服务器通过另一台上网机来连接外网

1.适用情景

服务器为内网服务器,需要访问外网。手头上有可以访问外网的上网机。内网服务器通过该上网机来实现对外网的访问。

在内网服务器里的配置

1
vim /etc/sysconfig/network-scripts/ifcfg-eth0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp9s0f0
UUID=5eeb334e-d02d-48d3-8221-09980139393c
DEVICE=enp9s0f0
ONBOOT=yes
IPADDR=192.168.137.2
PREFIX=24
GATEWAY=192.168.137.1 # 可以上网机器的ip作为网关
IPV6_PRIVACY=no

2.windows端上网机的处理

在网络设置中选择可以上网的网卡,并将该网卡共享到和内网机连接的网卡中去。
image

3.linux端上网机的处理

需要两块网卡,一块连接互联网配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp9s0f0
UUID=5eeb334e-d02d-48d3-8221-09980139393c
DEVICE=enp9s0f0
ONBOOT=yes
IPADDR=10.22.1.123 #外网IP
PREFIX=24
GATEWAY=10.22.1.254 # 可以上网机器的ip作为网关
IPV6_PRIVACY=no

一块与内网服务器连接:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
IPV6_AUTOCONF=no
IPV6_DEFROUTE=no
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp9s0f0
UUID=5eeb334e-d02d-48d3-8221-09980139393c
DEVICE=enp9s0f0
ONBOOT=yes
IPADDR=192.168.137.1 #内网IP
PREFIX=24
GATEWAY=10.22.1.123 #外网Ip作为网关,其他内网上网机器也要用这个作为网关
IPV6_PRIVACY=no

配置网卡之后需执行service network restart生效

4.配置ipv4转发

1
net.ipv4.ip_forward = 1
1
sysctl -p

5.配置服务器A的iptables规则,使服务器B及其他内网服务器能访问外网

1
iptables -t nat -A POSTROUTING -s 192.168.137.0/255.255.255.0 -j SNAT --to-source 10.22.2.123

上面的命令即时生效,若需要下次启动也可用,需保存规则:

1
service iptables save

如果有提示:Unit iptables.service could not be found. 则需安装iptables-services

6.DNS解析失败的问题

以上配置之后,通过IP能访问外网,但是使用域名则不行,即使已经配置了dns解析服务器。
还需要在服务器A执行:

1
iptables -I FORWARD 1 -s 192.168.137.0/24 -j ACCEPT #允许所有源地在 192.168.137.0/24的ip经过本机

7.参考出处

https://blog.csdn.net/tmaccs/article/details/104677730