Linux网络安全技术与实现(第2版)第二章笔记(NAT结构与分类)



PREROUTING链作用

 修改数据包的“Destination IP”即目的地IPDNAT

POSTROUTING链的作用

 修改数据包的“来源端IP”(SNAT

OUTPUT链作用

 当对象就是本机进程产生并要外送的这些数据包


NAT分类:大概可分为:一对多NAT,多对多NAT,一对一NAT,以及NAPT(Network Address Port Translation)。以下是一对多NAT以及NAPT的讲解。

1.一对多NAT机制功能:节省公网IP的使用量和隐藏企业内部主机的IP地址。

首先在NAT主机上安装两块网上,并在eth0接口上设置10.0.1.200这个公网IP,此外,在eth1接口上设置192.168.0.254这个私有的IP,而企业内的主机都将是192.168.0.0/24网段上的主机,且其默认网关是192.168.0.254

分析:企业内主机必须通过NAT主机上的SNAT机制,将外送数据包内的Source IP 改为NAT主机上的公网IP.

SNAT语法如下:

iptables -t nat -A POSTROUTING -o eth0 -s 192.168.0.0/24 \ -j SNAT --to 10.0.1.200

语法解析:

-t nat

选择表

选择所要使用的功能为NetfilterNAT机制

-A POSTROUTING

选择功能

选择所要执行的操作为SNAT机制

-o eth0

标明数据包的流向

数据包流向

-s 192.168.0.0/24

设置私有IP网段

只有来自192.168.0.0/24网段的数据包才符合规则

-j SNAT --to 10.0.1.200

执行的操作

如果数据包符合以上所有条件,就将其Source IP的内容改为10.0.1.200,但请注意,这个IP必须为NAT主机对外的公网IP

当公网IP不固定时,可在-j 后加MASQUERADE


2.NAPT


假设我们只有一个公网IP可以使用,将公网IP设置在eth0接口上,另外将对外服务的主机部署于192.168.0.0/24的网段上,分别利用192.168.0.1192.168.0.2两个IP

分析:Web服务器:Web服务器所需要使用到的端口只有TCP port 80 TCP port443,因此,我们只需将访问10.0.1.200这个IPTCP port 80TCP port 443的数据包转发给192.168.0.1即可。

规则:iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to 192.168.0.1:80

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 443 -j DNAT --to 192.168.0.1:443









你可能感兴趣的:(NAT结构与分类)