前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >用iptables 做NAT代理上网

用iptables 做NAT代理上网

作者头像
惨绿少年
发布2017-12-27 16:12:09
3.1K0
发布2017-12-27 16:12:09
举报
文章被收录于专栏:惨绿少年惨绿少年

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

代码语言:javascript
复制
内网主机: A eth1:172.16.1.8
外网主机: B eth0:10.0.0.6外网主机: B eth1:172.16.1.6

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

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

代码语言:javascript
复制
#临时
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

代码语言:javascript
复制
[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规则

代码语言:javascript
复制
iptables -t nat -A POSTROUTING -o eth0 -s 172.16.1.0/24 -j SNAT --to 10.0.0.6

4.保存

代码语言:javascript
复制
service iptables save
#重启iptables服务
/etc/init.d/iptables restart

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

代码语言:javascript
复制
将iptables设置为开机自启动
[root@lb02 ~]# chkconfig |grep iptables 
iptables       	0:off	1:off	2:on	3:on	4:on	5:on	6:off
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-11-01 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
NAT 网关
NAT 网关(NAT Gateway)提供 IP 地址转换服务,为腾讯云内资源提供高性能的 Internet 访问服务。通过 NAT 网关,在腾讯云上的资源可以更安全的访问 Internet,保护私有网络信息不直接暴露公网;您也可以通过 NAT 网关实现海量的公网访问,最大支持1000万以上的并发连接数;NAT 网关还支持 IP 级流量管控,可实时查看流量数据,帮助您快速定位异常流量,排查网络故障。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档