用iptables 做NAT代理上网 (内网内一台不能上网的机器通过能上网的机器作代理上网)
2016-05-26 16:57
302 查看
original:http://blog.sina.com.cn/s/blog_6ca646a0010126wl.html
背景:
有一台A服务器不能上网,和B服务器通过内网来连接,B服务器可以上网,要实现A服务器也可以上网。
A IP:192.168.0.35
B IP:192.168.0.146
SNAT:改变数据包的源地址。防火墙会使用外部地址,替换数据包的本地网络地址。这样使网络内部主机能够与网络外部通信。
1.在可以上网那台服务器B上,开启内核路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
2.在需要通过代理上网服务器A上,查看路由表。并添加默认网关。route add default gw 192.168.0.146
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.0.146 0.0.0.0 UG 0 0 0 eth0
3.在可以上网那台服务器B上添加SNAT规则
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT –-to 123.196.112.146
4.保存
service iptables save
5.验证是否可以正常上网。
背景:
有一台A服务器不能上网,和B服务器通过内网来连接,B服务器可以上网,要实现A服务器也可以上网。
A IP:192.168.0.35
B IP:192.168.0.146
SNAT:改变数据包的源地址。防火墙会使用外部地址,替换数据包的本地网络地址。这样使网络内部主机能够与网络外部通信。
1.在可以上网那台服务器B上,开启内核路由转发功能
echo 1 > /proc/sys/net/ipv4/ip_forward
2.在需要通过代理上网服务器A上,查看路由表。并添加默认网关。route add default gw 192.168.0.146
[root@localhost ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
192.168.0.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 0 0 0 eth0
0.0.0.0 192.168.0.146 0.0.0.0 UG 0 0 0 eth0
3.在可以上网那台服务器B上添加SNAT规则
iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 -j SNAT –-to 123.196.112.146
4.保存
service iptables save
5.验证是否可以正常上网。
相关文章推荐
- 二叉树中和为某一值的路径——25
- 你肯定不知道这7种二维码生成方式
- mountebank之Predicates
- ViewPager实现淘宝天面首页广告栏,支持左右滑动,自动滑动,带圆点指示器
- c#跨线程访问控件
- OC中通过Class动态添加一个控制器,Swift中怎么实现?
- Fragment的setUserVisibleHint方法实现懒加载
- 笔试题66. LeetCode OJ (53)
- EL表达式
- Java的final关键字
- python 练习 16
- Spark-Sql创建多数据源Join实例——涉及关系库数据源
- 基于web的可视化数据库管理
- 2016SDAU课程练习三1007 Problem G
- Swift资源库--官方文档的学习笔记
- oracle sequence的概念及作用
- \r \n 手札
- python 练习 15
- iOS图片编辑功能实现
- Codeforces Round #354 (Div. 2) A. Nicholas and Permutation