美文网首页
iptables 做NAT代理上网

iptables 做NAT代理上网

作者: 橡皮24 | 来源:发表于2018-04-19 14:20 被阅读112次

环境说明:

有一台A服务器不能上网,和B服务器通过内网来连接,B服务器可以上网有公网IP,要实现A服务器也可以上网。
内网主机: A:eth2: 192.168.205.160
外网主机:B:外网IP em1: 218.25.116.165 、内网IP:em4:192.168.205.200

1.在可以上网那台服务器B上,开启内核路由转发功能

临时
echo 1 > /proc/sys/net/ipv4/ip_forward
sysctl -p
#永久
echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf
sysctl -p

2.在需要通过代理上网服务器A上添加默认网关。route add default gw 172.16.1.6或者vim /etc/sysconfig/network-scripts/ifcfg-eth2修改GATEWAY

[root@localhost ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth2 

TYPE=Ethernet
BOOTPROTO=static
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=eth2
UUID=cd60df1b-8257-4b7e-bc9e-12849da6b1bc
DEVICE=eth2
ONBOOT=yes
IPADDR=192.168.205.160
NETMASK=255.255.255.0
GATEWAY=192.168.205.200         #外网主机的内网IP
DNS1=8.8.8.8

3.可以上网那台服务器B上添加NAT规则(如果没有iptables请安装)

[root@localhost ~]# iptables -t nat -A POSTROUTING -o em1 -s 192.168.205.160 -j SNAT --to 218.25.116.165

4.保存iptables规则

[root@localhost ~]# service iptables save
#重启iptables服务
[root@localhost ~]# /etc/init.d/iptables restart

5.验证是否可以正常上网。

Centos6
chkconfig  iptables  on
将iptables设置为开机自启动
[root@ localhost ~]# chkconfig |grep iptables
iptables        0:off   1:off   2:on    3:on    4:on    5:on    6:off
Centos7
[root@localhost ~]# systemctl enabled iptables
[root@localhost ~]# systemctl list-unit-files | grep iptables
iptables.service                                enabled
[root@localhost ~]# ping www.baidu.com
PING www.a.shifen.com (61.135.169.125) 56(84) bytes of data.
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=1 ttl=54 time=19.7 ms
64 bytes from 61.135.169.125 (61.135.169.125): icmp_seq=2 ttl=54 time=19.6 ms

相关文章

网友评论

      本文标题:iptables 做NAT代理上网

      本文链接:https://www.haomeiwen.com/subject/hmjwkftx.html