标签:nbsp font 处理 并发 class 共享上网 资源 .post ble
当数据包到达主机后,开始检查路由表之前,会匹配防火nat的PREROUTING链,可以在这个链子里面
设置DNAT,修改数据包的目的IP地址,当然也可以不修改。
在路由检查时,判断路由的性质,目的是否是本机
-------如果目的主机就是本机,那么进入filer-INPUT链----》获取服务资源后=====>返回响应===》路由表判断=====>nat-OUTPUT====>filter-OUTPUT====>nat-POSTROUTING--数据包送出
-------如果目的主机不是本机,那么就会按照修改后目的IP来检查路由表,向目的网络或主机转发数据包,===》filer-FORWARD===>nat.POSTROUTING==>发出数据包。
1)如果当前的设置对象是一台出口主机,作为IP共享器,有两个网卡,一个内网网卡,一个外网网卡。
当有来自内网的数据包到达时,路由表检查后在从端口输出数据包时,会检查nat-POSTROUTING链,可以在这个链里面
定义SNAT或IP地址伪装,以达到内网共享上网的目的。
iptables -t nat -A/I POSTROUTING -s 192.168.4.0/24 ! -d 192.168.4.0/24 -o w3len0 -j MASQUERADE 对于来自内网的数据包,目的非内网的数据包,从端口w3len0发出的数据包,
//不使用伪装
iptables -t nat -A/I POSTROUTING -s 192.168.4.0/24 ! -d 192.168.4.0/24 -o w3len0 -j SNAT --to-source 192.168.4.111
需要对IP的来源地址进行改写,改写为发出端口的IP地址,从而达到网访问外网的目的。
2)如果是内网的主机暴露服务,可以在出口网关设置DNAT,在nat_PREROUTING中进行设置,因为这是在路由判断之前发生的,可以作端口映射。
iptables -t nat -A/I PREROUTING -i eth0 -p tcp --dport 80 -j DNAT --to-destination 192.168.4.10:80
对于目标端口是80的tcp数据包,在路由检查前修改为目标地址192.168.4.10:80,路由检查时,会按照路由表进行匹配,并发送到内网内的某台主机
标签:nbsp font 处理 并发 class 共享上网 资源 .post ble
原文地址:http://www.cnblogs.com/justart/p/7629250.html