云服务器

Linux的Iptables命令实战3—端口映射和NAT

2020-05-21 14:44:54 174

一、前言

关于iptables的配置Ubuntu系列和Centos系列都是差不多,这里就不分开说了。本文是直接教您如何使用iptables来实现端口的映射和NAT转发。

 

二、端口映射

1、拓扑场景


 
代理设备A:

公网IP:192.168.0.2

内网IP:10.10.10.1

内网设备B:

内网IP:10.10.10.2 (已部署好web服务,80端口允许访问)

 

2、需求场景

用户通过访问代理设备192.168.0.2:8080就可以访问到内网设备的10.10.10.2的80端口,这种场景就会使用到iptables的端口映射。(注:这里的公网IP是虚构的,192.168.0.0属于私网地址)

注:前提代理设备10.10.10.1与内网设备10.10.10.2需要互通。

 

3、需求实现

①在代理设备A开启服务器的转发功能
vim /etc/sysctl.conf

net.ipv4.ip_forward = 1       //wq保存退出
sysctl -p                     //在命令行操作,时的参数生效



②代理设备A命令行操作:
iptables -t nat -A POSTROUTING -d 10.10.10.2/32 -p tcp -m tcp --dport 80 -j SNAT --to-source 10.10.10.1
iptables -t nat -A PREROUTING -d 192.168.0.2 -p tcp -m tcp --dport 8080 -j DNAT --to-destination 10.10.10.2:80
service iptables save             //保存配置

 

三、内网设备通过设置NAT来实现访问公网资源

1、拓扑场景

代理商设备A:
eth0公网IP:192.168.0.2
eth1内网IP:10.10.10.1

2、需求场景

内网集群的设备需要访问公网资源,例如访问www.baidu.com等互联网资源。这样的好处是,内网设备可以访问外网,但不用暴露在公网环境,使得内网的设备安全性打打提高,那么这个对代理设备的防火墙必须做好。

注:我司睿江云的VPC节点,实现上述场景的需求满足,一键创建NAT设备。

 

3、需求实现
①在代理设备A开启服务器的转发功能
vim /etc/sysctl.conf

net.ipv4.ip_forward = 1       //wq保存退出
sysctl -p                     //在命令行操作,时的参数生效


②在代理设备A命令行操作:

iptables -t nat -A POSTROUTING -s 10.10.10.0/24 -o eth0 -j MASQUERADE
service iptables save             //保存配置


③在内网的所有设备操作:

网关设置为:10.10.10.1 即可完成nat上网

睿江云官网链接:www.eflycloud.com

上一篇: 无

微信关注

获取更多技术咨询