iptables在表顶部插入规则(Linux上的PREPEND规则)
时间:2020-01-09 10:41:41 来源:igfitidea点击:
如何将iptables规则插入给定表格的顶部,例如过滤器表格INPUT链。
如何在Linux操作系统的过滤器表顶部添加iptables规则?
iptables是用于IPv4数据包过滤和NAT的Linux管理工具。
可以使用iptables/ip6tables来设置,管理和检查Linux内核中的IPv4和IPv6数据包过滤器规则表。
本教程显示如何使用Iptables在表顶部插入规则。
如何用行号列出iptables规则
只需使用以下语法:
sudo iptables -t filter -L INPUT --line-numbers -n sudo iptables -t filter -L OUTPUT --line-numbers -n sudo iptables -t filter -L FORWARD --line-numbers -n sudo iptables -t nat -L --line-numbers -n
iptables在表顶部插入规则Linux语法
iptables允许您如下添加或添加或插入或替换防火墙规则。
iptables将防火墙规则追加到所选链的末尾
语法为:
iptables -A chain firewall-rule
例如,当您使用-A
或--append
开关时,将规则添加到链的末尾,例如INPUT,FORWARD等:
## append rule to INPUT chain ## sudo iptables -A INPUT -i eth0 -j ACCEPT sudo iptables -A INPUT -i eth0 -d 192.168.1.254 -j ACCEPT ## append rule to FORWARD chain ## sudo iptables -A FORWARD -o virbr0 -d 192.168.122.42 -j ACCEPT sudo iptables -A FORWARD -m state -s 192.168.1.0/24 -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
使用以下命令进行验证:
sudo iptables -t filter -L INPUT --line-numbers -n -v sudo iptables -t filter -L FORWARD --line-numbers -n -v
输出示例:
Chain INPUT (policy ACCEPT 6 packets, 518 bytes) num pkts bytes target prot opt in out source destination 1 0 0 ACCEPT tcp -- lxdbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 /* generated for LXD network lxdbr0 */ 2 259 16615 ACCEPT udp -- lxdbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 /* generated for LXD network lxdbr0 */ 3 1517 498K ACCEPT udp -- lxdbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 /* generated for LXD network lxdbr0 */ 4 36 2674 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:53 5 0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:53 6 4 1312 ACCEPT udp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 udp dpt:67 7 0 0 ACCEPT tcp -- virbr0 * 0.0.0.0/0 0.0.0.0/0 tcp dpt:67 8 0 0 ACCEPT all -- eth0 * 0.0.0.0/0 0.0.0.0/0
iptables将防火墙规则放在所选链的末尾
您需要使用以下语法:
iptables -I chain [rule-number] firewall-rule
例如:
sudo iptables -I INPUT 1 -i eth0 -j ACCEPT
上面的命令会将规则作为给定的规则编号插入INPUT链中。
因此,如果规则编号为1,则将一个或多个规则插入到链的开头。
如果未指定规则编号,这也是默认值。
示例:iptables在表顶部插入规则
我要在过滤器表和FORWARD链中插入以下规则:
sudo iptables -I FORWARD 1 -m state -s 192.168.1.0/24 -d 192.168.122.0/24 --state NEW,RELATED,ESTABLISHED -j ACCEPT
验证一下:
sudo iptables -t filter -L FORWARD --line-numbers -n -v
表顶部的Linux Iptables插入/前置规则命令摘要
您需要使用以下语法:
sudo iptables -I chain [rule-number] firewall-rule
要查看规则:
sudo iptables -t filter -L chain --line-numbers -n -v
其中:
-I
:在给定的规则编号处插入规则-t
:指定数据包匹配表,例如nat,filter,security,mangle和raw。-L
:给定数据包匹配表的特定链(例如INPUT/FORWARD/OUTPUT)的列表信息--line-numbers
:请参阅带有行号的防火墙规则-n
:不要使用dns解析名称,即仅显示IP地址和端口号的数字输出。-v
:详细输出。此选项使list命令显示接口名称,规则选项(如果有)和TOS掩码