蓝天,小湖,湖水中一方小筑

在iptables中配置nat包转发

关键字:iptables, nat, 包转发

两台机器,一台有多块网卡,能连外网,算是A吧,另一台连在A上,就叫B吧。现在的情况就是,有一台机器C,机器A能连上,机器B连不上,于是就要在A上做一个转发, 把B发来的到C的包都转出去。

于是就有了一句iptables:

iptables -t nat -A POSTROUTING \
    -s [ip of addr B] -d \
    [ip addr if C] -j SNAT \
    --to-source [outer ip addr of A]

下面逐段解释一下,第一个选项-t表示要把东西加到nat表中,iptables默认使用的是filter表;选项A表示是要把这条规则加到POSTROUTING链 中的,系统在决定了数据包的路由后执行该链中的规则;-s选项表示源目的地址,在这个配置中就是内网机器B的地址;-d选项指定目的地址,即C的地址;SNAT操作表 示改变包的源地址;最后–to-source写的是机器A的地址,然后就配完了,嗯。