七月学习之Iptables地址转换
  eHipUjOuzYYH 2023年11月02日 24 0

七月学习之Iptables地址转换_NAT

8、Iptables地址转换

8.1、什么是NAT

网络地址转换(NAT),意思也比较清楚:对(数据包)的网络地址(IP + PORT)进行转换
例如,机器自己的IP10.1.1.2是能与外部正常通信的,但是192.168网段是私有IP段。无法与外界通信
因此当源地址为192.168网段的包要出去时,机器会先将源IP换成机器自己的10.1.1.2再发送出去:收到应答包时,再进行相反的转换,这就是NAT的基本过程

七月学习之Iptables地址转换_NAT_02

8.2、NAT的几种模式

SNAT:源地址转换
DNAT:目标地址转换
PNAT:端口转换

8.3、NAT环境搭建

1.准备iptables节点
	eth0:10.0.0.200
	eth1: 172.16.1.200
	开启forward
	
cat /etc/sysconfig/network-scripts/ifcfg-eth0 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=10.0.0.200
PREFIX=24
GATEWAY=10.0.0.2
DNS1=223.5.5.5

cat /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.200
PREFIX=24

echo "net.ipv4.ip_forward = 1" >> /etc/sysctl.conf 
sysctl -p

2.准备后端集群节点
	eth1: 172.16.1.7	 Gateway: 172.16.1.200
	eth1: 172.16.1.8	 Gateway: 172.16.1.200

cat /etc/sysconfig/network-scripts/ifcfg-eth1 
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth1
DEVICE=eth1
ONBOOT=yes
IPADDR=172.16.1.7
PREFIX=24
GATEWAY=172.16.1.200
DNS1=223.5.5.5

ifdown eth1 && ifup eth1
ifdown eth0

七月学习之Iptables地址转换_IP_03

8.4、SNAT场景配置

实现内网主机通过防火墙访问公网,需要使用SNAT(源地址转换POSTROUTING)
1、指定从哪个ip地址转换出去(静态公网地址)
SNAT配置:必须使用nat表;
iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j SNAT --to 10.0.0.200
iptables -t nat -L
2、当外网源地址为动态获取的地址时,MASQUERADE可自行判断要转换为的外网地址
iptables -t nat -I POSTROUTING -s 172.16.1.0/24 -j MASQUERADE

8.5、DNAT场景配置

实现外网主机通过防火墙访问内部主机80端口,需要通过DNAT(目标地址转换PREROUTING)
1、端口映射,将公网IP+PORT映射到私网的IP+PORT
DNAT配置(必须先实现SNAT):
iptables -t nat -I PREROUTING -d 10.0.0.200 -p tcp --dport 80 -j DNAT --to 172.16.1.7:80
2、地址映射,将公网地址映射到私网地址
iptables -t nat -I PREROUTING -d 10.0.0.200 -j DNAT --to 172.16.1.7
【版权声明】本文内容来自摩杜云社区用户原创、第三方投稿、转载,内容版权归原作者所有。本网站的目的在于传递更多信息,不拥有版权,亦不承担相应法律责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@moduyun.com

  1. 分享:
最后一次编辑于 2023年11月08日 0

暂无评论

推荐阅读
  Yoru5qB4TSKM   2023年12月10日   39   0   0 服务器重启IP
  ozzp9aSSE46S   2023年11月30日   30   0   0 DNSIPPod
  48fXx4UfWSFg   2023年12月06日   54   0   0 bcIPbundle
  it2nV7RK7uw1   2023年11月28日   75   0   0 DockerServerIP
  aYmIB3fiUdn9   2023年12月08日   50   0   0 客户端IPNATlvs