链名 | 流量方向 | 常见用途 |
---|---|---|
INPUT | 进入本地主机的流量 | 控制外部对本地服务的访问(如开放 SSH、Web 服务) |
FORWARD | 经过本地主机的转发流量 | 管理局域网内设备间的互访、配置路由器防火墙策略 |
OUTPUT | 从本地主机发出的流量 | 限制本地程序的出站行为(如禁止访问特定网站) |
-L:列出当前链(chain)中的所有规则
-n:以数字形式显示 IP 地址和端口号,而不是尝试解析主机名和服务名
--line-number:显示规则的行号,这对于后续删除或修改特定规则非常有用
-A 表示在链的末尾添加规则
Chain:显示防火墙的链(INPUT、FORWARD、OUTPUT 等)
policy:显示链的默认策略(ACCEPT 或 DROP)
num:规则的行号,通过 --line-number 参数添加
target:匹配规则后执行的操作(ACCEPT、DROP、REJECT 等)
prot:协议类型(all、tcp、udp、icmp 等)
opt:选项,通常为空
source:源 IP 地址或网段
destination:目标 IP 地址或网段
禁止端口对外访问
查看当前信息
#查看当前信息
[root@localhost ~]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
添加指定IP可以访问8080端口
重要提醒:如果要指定IP能访问某个端口,必须先执行需要通过的IP,最后在执行drop。
#添加指定IP可以访问8080端口
[root@localhost ~]# iptables -A INPUT -p tcp -s 192.168.62.130 --dport 8080 -j ACCEPT
[root@localhost bin]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 192.168.62.130 0.0.0.0/0 tcp dpt:8080
2 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
禁止8080对任何人访问(必须放在最后一行,最后执行)
[root@localhost ~]# iptables -A INPUT -p tcp --dport 8080 -j DROP
在第二行添加数据
#在第二行添加数据
[root@localhost bin]# iptables -I INPUT 2 -p tcp -s 192.168.62.131 --dport 8080 -j ACCEPT
[root@localhost bin]# iptables -L -n --line-number
Chain INPUT (policy ACCEPT)
num target prot opt source destination
1 ACCEPT tcp -- 192.168.62.130 0.0.0.0/0 tcp dpt:8080
2 ACCEPT tcp -- 192.168.62.131 0.0.0.0/0 tcp dpt:8080
3 DROP tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:8080
Chain FORWARD (policy ACCEPT)
num target prot opt source destination
Chain OUTPUT (policy ACCEPT)
num target prot opt source destination
删除规则
iptables -D INPUT 5 # 删除 INPUT 链中的第 5 条规则
THE END