- 命令规则
iptables -t 表名 <-A/I/D/R> 规则链名 [规则号] <-i/o 网卡名> -p 协议名 <-s 源IP/源子网> --sport 源端口 <-d 目标IP/目标子网> --dport 目标端口 -j 动作
- 列出已设置的规则
$ iptables -L -t nat # 列出 nat 上面的所有规则
$ # ^ -t 参数指定,必须是 raw, nat,filter,mangle 中的一个
$ iptables -L -t nat --line-numbers # 规则带编号
$ iptables -L INPUT
iptables -L -nv # 查看,这个列表看起来更详细
- 允许外部访问80端口
$ iptables -A INPUT -p tcp --dport 80 -j ACCEPT
该规则会添加到filter表的INPUT链中
- 删除策略
$ iptables -D INPUT -p tcp --dport 80 -j ACCEPT
按照Chain指定的序号删除策略
$ iptables -L INPUT -n --line-numbers
$ iptables -D INPUT 8
- 拒绝外部访问22端口
$ iptables -A FORWARD -p tcp --dport 22 -j REJEDT
- 将访问80端口导向8080端口
$ iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-port 8080
- 将封包信息记录在/var/log中
$ iptables -A INPUT -p tcp -j LOG
- 改写封包来源IP为某特定IP的范围SNAT
$ iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 194.236.50.155-194.236.50.160:1024-32000
- 改写封包来目的IP为某特定IP的范围DNAT
$ iptables -t nat -A PREROUTING -p tcp -d 15.45.23.23 --dport 80 -j DNAT --to-destination 192.168.1.1-192.168.1.10:80-100
- 如何使用非53端口的DNS服务
$ iptables -t nat -A OUTPUT -p udp --dport 53 -d 255.255.233.233 -j DNAT -to-destination 99.248.82.1:30053
$ cat /etc/resolv.conf
nameserver 255.255.233.233
网友评论