SNAT与DNAT | |
SNAT:源地址转换 DNAT:目标地址转换 | |
当用户访问百度网站时,数据包的源IP为用户PC的IP,目的IP为百度公司服务器的IP,数据包发送到百度服务器后,服务器接收数据包,但是服务器没有网关(自家的IP为私网IP地址,私网地址在网络中有许多),所以它接收的数据包将被丢弃。 但是用户可以访问网站,说明数据包并没有丢失。这是因为私网IP在进入公网后被转换成公网IP,此时与服务器就是公对公的关系。服务器可以找到它,于是就可以进行响应包的回复。 | |
SNAT:01ping03通,03ping01不通 | |
环境 | 03ping01 |
1. | 进入03网卡配置文件,注释其网关 [root@03 ~]# service network restart //重启网卡 01ping03 //01没有反应,但是这并不代表数据包没有发送过去,而是发送过去,但是对方没有网关,所以传达不回来。 使用tcpdump监控 //01的数据包发送到100.7,但是没有响应包回应。 |
2. | [root@02 ~]# iptables -t nat -A POSTROUTING -s 192.168.200.0/24 -o eth1 -j SNAT --to-source 192.168.100.6 //iptables -t nat:指定nat表 -A POSTROUTING:在POSTROUTING链上添加规则 -s 192.168.200.0/24 -o eth1:数据包的来源网段,且数据包出口为eht1网卡 -j SNAT –to-source 192.168.100.6:将eth1网卡出口的数据包的源IP改为192.168.200.6也就是eth1网卡的IP |
3. | //添加完路由规则后,在01上ping03,发现可以通了 //在03上进行监控,发现,数据包到达03后,回复的IP为100.6,这正是所配置的防火墙规则生效后的地址,也就是公网IP,而不是之前的私网IP。让03可以找到回复响应包的地址。 |
我们平时解析的百度IP其实是百度网关的公IP | |
用户之所以可以看到网页,是因为百度的网关将数据包通过外网交换机,将其转发给了01,也就是LB的VIP,然后方向代理代替用户发起请求,找到后方节点。 要想实现数据包的目标IP地址,需要替换成LV的VIP | |
1:进路由 2:出路由 3:转发 4:出站 5:入站 我们要实现数据包的转发,必须使其走转发链。入站出站就数据包就回去了。在转发链上实现数据包的目标地址转换。 | |
DNET:03访问100.6可以跳转LB的VIP致使访问成功 | |
环境 |
Linux基础——防火墙(二)
最新推荐文章于 2024-10-11 20:52:27 发布