用iptables 做NAT代理上网

背景: 有一台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

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏散尽浮华

Linux下路由配置梳理

在日常运维作业中,经常会碰到路由表的操作。下面就linux运维中的路由操作做一梳理: -------------------------------------...

40111
来自专栏鬼谷君

设置iptables NAT出外网

1002
来自专栏日常工作总结

Git常用命令汇总

Git配置 git config --global user.name "xx" git config --global user.email "xx@gma...

1564
来自专栏吴柯的运维笔记

如何实现MySQL读写分离?

? 一:部署mysql-proxy代理服务器 1)安装mariadb官方提供的maxscale软件包 # rpm -ivh maxscale-2.1.2-1....

3236
来自专栏企鹅号快讯

扣丁学堂Linux视频教程之如何使用git及各种命令

今天扣丁学堂Linux视频教程给大家详细介绍一下关于如何使用git,比如与git一起使用的各种命令,下面我们一起来看一下吧。 ? 设置用户信息 这应该是安装完 ...

1805
来自专栏用户画像

IPv6

243. IPv6 主机A 要与IPv6主机B 通信,但不知道主机B 的链路层地址,遂发送邻居请求消息。邻居请求消息的目的地址是__D____。

2304
来自专栏惨绿少年

route命令实例练习

第1章 命令配置 虚拟服务器 网卡配置信息 虚拟网卡名称 虚拟网卡模式 服务器01 eth1 10.0.0.1...

1820
来自专栏一个爱瞎折腾的程序猿

git常用命令记录

741
来自专栏性能与架构

Docker容器跨主机互联

当两个Docker容器在同一主机时,可以通过--link命令让两者直接互相访问。 如果要跨主机实现容器互联,则往往需要容器知道其他物理主机的IP地址 利用Amb...

3744
来自专栏desperate633

TCP/IP之DHCP协议静态配置DHCP协议

有两种获取方法,一种是静态配置,就是从网络管理员获取一个给定的IP地址,也叫硬编码,还有一种就是动态配置IP地址,这就是我们即将要讲的DHCP协议,动态主机配置...

722

扫码关注云+社区