首页 百科知识 下的语法规则

下的语法规则

时间:2022-10-18 百科知识 版权反馈
【摘要】:Linux下的NAT是基于netfilter/iptables使用nat表来实现NAT功能的。在使用nat表时,必须在iptables命令中明确指定“-t nat”,因为在iptables命令中默认的表是filter表。从NAT的原理可以看出,对于PREROUTING链,只能用-i指定进来的网络接口;而对于POSTROUTING 和OUTPUT用-o指定出去的网络接口。可以通过--protocol/-p选项来指定协议,如果是udp和tcp协议,还需用--sourceport/

9.3.1 Linux下NAT的语法规则

Linux下的NAT是基于netfilter/iptables使用nat表来实现NAT功能的。在使用nat表时,必须在iptables命令中明确指定“-t nat”,因为在iptables命令中默认的表是filter表。nat表使用PREROUTING、POSTROUTING和OUTPUT这三条链(chains),这三条链是规则的容器,它们的作用分别是:

●PREROUTING:可以在这里定义进行目的NAT的规则,因为路由器进行路由时只检查数据包的目的ip地址,所以为了使数据包得以正确路由,必须在路由之前就进行目的NAT;

●POSTROUTING:可以在这里定义进行源NAT的规则,系统在决定了数据包的路由以后再执行该链中的规则;

●OUTPUT:定义对本地产生的数据包的目的NAT规则。

如前所述,在使用iptables的NAT功能时,必须在每一条规则中使用“-t nat”指明当前使用的是nat表,然后使用以下的选项。

(1)指定对规则的操作

●-A或--append,加入一条新规则到一个链的最后。

●-I或--insert,在链内某个位置插入一条新规则。

●-R或--replace,在链内某个位置替换一条规则。

●-D或--delete,在链内某个位置删除一条规则。

(2)指定源地址和目的地址

●--s或--src或--source,指定源IP地址。

●--d或--dst或--destination,指定目的IP地址

可以使用以下4种方法来指定IP地址:

①使用完整的域名,如“www.linux.com”。

②使用ip地址,如“192.168.10.1”。

③用x.x.x.x/x.x.x.x指定一个网络地址,如“192.168.10.0/255.255.255.0”。

④用x.x.x.x/x指定一个网络地址,如“192.168.10.0/24”。

(3)指定网络接口

可以使用--in-interface/-i或--out-interface/-o来指定网络接口。从NAT的原理可以看出,对于PREROUTING链,只能用-i指定进来的网络接口;而对于POSTROUTING 和OUTPUT用-o指定出去的网络接口。

(4)指定协议及端口

可以通过--protocol/-p选项来指定协议,如果是udp和tcp协议,还需用--sourceport/

--sport和--destination-port/--dport来指明源端口和目的端口。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈