iptables常用命令

2023-03-30 15:53:06 浏览数 (2)

iptables是Linux操作系统中常用的防火墙软件,可以帮助管理员控制网络数据包的流向和访问控制。iptables通过配置表规则来控制网络数据包的流向,根据规则进行过滤、转发和重定向等操作,实现网络访问控制和安全策略。

以下是iptables常用命令:

iptables -L 该命令可以列出当前iptables中的所有规则,包括过滤、转发、重定向等规则。

代码语言:javascript复制
$ iptables -L
Chain INPUT (policy ACCEPT)
target     prot opt source               destination         

Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination 

iptables -F 该命令可以清空当前iptables中的所有规则。

代码语言:javascript复制
$ iptables -F

iptables -P 该命令可以设置iptables中默认的策略,包括INPUT、FORWARD、OUTPUT三个链。默认情况下,iptables的默认策略是ACCEPT。

代码语言:javascript复制
$ iptables -P INPUT DROP
$ iptables -P FORWARD DROP
$ iptables -P OUTPUT DROP

以上命令将iptables的默认策略设置为DROP,即拒绝所有数据包。

iptables -A 该命令可以向iptables中添加新的规则,可以添加过滤规则、转发规则、重定向规则等。

代码语言:javascript复制
$ iptables -A INPUT -s 192.168.1.1 -j ACCEPT

以上命令添加了一条过滤规则,允许源IP为192.168.1.1的数据包通过INPUT链。

iptables -D 该命令可以从iptables中删除指定的规则。

代码语言:javascript复制
$ iptables -D INPUT -s 192.168.1.1 -j ACCEPT

以上命令删除了之前添加的过滤规则,禁止源IP为192.168.1.1的数据包通过INPUT链。

iptables -I 该命令可以在iptables中插入一条新的规则。

代码语言:javascript复制
$ iptables -I INPUT 2 -s 192.168.1.1 -j ACCEPT

以上命令在INPUT链的第二条规则前插入了一条新的过滤规则,允许源IP为192.168.1.1的数据包通过INPUT链。

iptables -s 该命令可以指定源IP地址或地址段。

代码语言:javascript复制
$ iptables -A INPUT -s 192.168.1.0/24 -j ACCEPT

以上命令添加了一条过滤规则,允许源IP地址段为192.168.1.0/24的数据包通过INPUT链。

iptables -d 该命令可以指定目标IP地址或地址段。

代码语言:javascript复制
$ iptables -A INPUT -d 192.168.1.1 -j ACCEPT

以上命令添加了一条过滤规则,允许目标IP地址为192.168.1.1的数据包通过INPUT链。

iptables -p 该命令可以指定数据包的协议类型,例如TCP、UDP、ICMP等。

代码语言:javascript复制
$ iptables -A INPUT -p tcp --dport 22 -j ACCEPT

以上命令添加了一条过滤规则,允许TCP协议的SSH数据包通过INPUT链的22端口。

iptables -m 该命令可以指定匹配模块,例如匹配MAC地址、时间段等。

代码语言:javascript复制
$ iptables -A INPUT -m mac --mac-source 00:11:22:33:44:55 -j ACCEPT

以上命令添加了一条过滤规则,允许MAC地址为00:11:22:33:44:55的数据包通过INPUT链。

iptables -j 该命令可以指定动作,例如ACCEPT、DROP、REJECT等。

代码语言:javascript复制
$ iptables -A INPUT -s 192.168.1.1 -j DROP

以上命令添加了一条过滤规则,禁止源IP为192.168.1.1的数据包通过INPUT链。

iptables -N 该命令可以创建一个新的用户自定义链。

代码语言:javascript复制
$ iptables -N MYCHAIN

以上命令创建了一个名为MYCHAIN的用户自定义链。

iptables -E 该命令可以重命名一个用户自定义链。

代码语言:javascript复制
$ iptables -E MYCHAIN NEWCHAIN

以上命令将名为MYCHAIN的用户自定义链重命名为NEWCHAIN。

iptables -X 该命令可以删除一个用户自定义链。

代码语言:javascript复制
$ iptables -X MYCHAIN

以上命令删除了名为MYCHAIN的用户自定义链。

iptables-save 该命令可以将当前iptables的规则保存到文件中。

代码语言:javascript复制
$ iptables-save > /etc/iptables/rules.v4

以上命令将当前iptables的规则保存到/etc/iptables/rules.v4文件中。

0 人点赞