前面一篇文章,我们主要学习了iptables中filter表的基本内容,今天这一篇文,主要会讲nat表的内容。
nat表用于网络地址转换。网络地址转换的目的是为了使用一个或者少量的ip地址去解决多个或者大量的内部设备访问外部网络的问题。
我们延用上一篇文里面的网络拓扑结构来理解。redhat1作为linux的网关服务器,而redhat2作为web服务器,注意不要给他设置网关。windowsxp作为内部网络的一台pc,需求是访问redhat2的web服务。
我们的设想是:
windowsxp去访问redhat2的web服务,它封装的请求包是
srcip 192.168.1.1
dstip 192.168.189.1
protocol tcp
dstport 80
这个包可以经过Redhat1的转发到达redhat2,redhat2收到后会进行回应,回应包的封装是
srcip 192.168.189.1
dstip 192.168.1.1
protocol tcp
dstport 80
但是这个回应包需要发给谁呢?在有网关的情况下,如果目的ip地址和源ip地址不在同一网段,就会发送给网关,但是我们并没有设置网关,因此就会丢弃掉这个数据包。
如何解决这个问题呢?