千家信息网

iptables总结_02

发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,Q:局域网内的主机的数据包如何通过linux主机传送出去呢?1)先经过NAT table的PREROUTING链2)经路由判断确定这个数据包是否要进入本机,若不进入本机,则下一步3)再经过Filter
千家信息网最后更新 2025年02月01日iptables总结_02

Q:局域网内的主机的数据包如何通过linux主机传送出去呢?

1)先经过NAT table的PREROUTING链

2)经路由判断确定这个数据包是否要进入本机,若不进入本机,则下一步

3)再经过Filter table的FORWARD链

4)通过NAT table的POSTROUTING链,最后传送出去


POSTROUTING修改的是原IP ------> SNAT(主要应付内部LAN连接到Internet)

PREROUTING修改的是目标IP ------> DNAT(主要用在内部主机架设可以让Internet访问的服务器)


SNAT语法:

iptables -t nat -A POSTROUTING -s $innet -o $EXTIF -j MASQUERADE

注:$innet 是LAN 网络

$EXTIF 是对外接口

MASQUERADE :将lan IP 伪装成对外接口设备上的IP


iptables -t nat POSTROUTING -o eth0 -j SNAT --to-source x.x.x.x/x.x.x.x-x.x.x.x

(不采用IP伪装)

DNAT语法:

iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 80

-j DNAT --to-destination IP[:port]

-j REDIRECT --to-ports

例子:将要求与80连接的数据包转递到8080这个port

iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080



0