用iptables 做NAT代理上网

本文涉及的产品
公网NAT网关,每月750个小时 15CU
简介: 背景:有一台A服务器不能上网,和B服务器通过内网来连接,B服务器可以上网,要实现A服务器也可以上网。 内网主机: A eth1:172.16.1.8 外网主机: B eth0:10.0.0.6外网主机: B eth1:172.16.1.6 SNAT:改变数据包的源地址。

背景:
有一台A服务器不能上网,和B服务器通过内网来连接,B服务器可以上网,要实现A服务器也可以上网。

内网主机: A eth1:172.16.1.8
外网主机: B eth0:10.0.0.6
外网主机: B eth1:172.16.1.6

SNAT:改变数据包的源地址。防火墙会使用外部地址,替换数据包的本地网络地址。这样使网络内部主机能够与网络外部通信。

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

[root@localhost ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.1.0      0.0.0.0         255.255.255.0   U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     0      0        0 eth1
0.0.0.0         172.16.1.6      0.0.0.0         UG    0      0        0 eth1

3.可以上网那台服务器B上添加SNAT规则

iptables -t nat -A POSTROUTING -o eth0 -s 172.16.1.0/24 -j SNAT --to 10.0.0.6

4.保存

service iptables save
#重启iptables服务
/etc/init.d/iptables restart

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

将iptables设置为开机自启动
[root@lb02 ~]# chkconfig |grep iptables 
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off

  

相关文章
|
Web App开发 Linux 虚拟化
|
网络协议 Linux 开发工具
【图文教程】win7+VMware8.0+CentOS6.4 NAT上网
在win7下面安装VM8.0,里面又安装多个虚拟机,各个虚拟机之间可以互相访问,同时虚拟机可以直接访问外网上网,win7要ping通个虚拟机中的系统。这种方式就使用NAT模式,开启VMware Network Adapter VMnet8。
1098 0
|
安全 虚拟化 C++
vmware虚拟机网络连接选nat后不能上网的解决办法
自己在vmware虚拟机中安装好系统并选择nat上网方式后发现无论怎么都不能联网。   后来仔细查找原因,发现Microsoft    visual   c++好像被我删掉了,是不是这个软件呢?我原先想打开这个软件,但是它显示没有目录,我就删掉了,没想到   vmware是要在里面调动数据的,而vpc   vbox   是不用的,所以缺了它 vpc  vbox   可以上网,而vmware就不能上网,我赶紧下载了一个,这回打开虚拟机,再把网络连接选nat ,再把虚拟机里的本地连接连上,就可以上网了。
880 0
|
10天前
|
Linux 虚拟化
VMware workstation 中centos7虚拟机在nat模式下怎么配置网卡,指定我想要的IP并且可以联网
https://blog.csdn.net/2302_78534730/article/details/132825156?spm=1001.2014.3001.5502
131 0