linux · 2025-06-30 0

iptables 使用

一、参数

  • -L 显示表中所有规则
  • -n 不要把端口或ip反向解析成名字
  • -t 指定表,不指定默认是 filter 表
  • -A append 追加,加入准许类的规则
  • -I insert 把规则加在链的第一条
  • -D delete 删除
  • -p protocal 协议 tcp/udp/tcmp/all
  • --dport 目标端口
  • --sport 源端口
  • -s --source 源 ip
  • -d --destination 目标 ip
  • -m 指定模块 multiport
  • -i input 输入的时候,从哪个网卡进来
  • -o output 输出的时候,从哪个网卡出去
  • -j 满足条件后的动作,DROP/ACCEPT/REJECT
  • -F 清除所有的规则,不会处理默认的规则
  • -X 删除用户自定义的链
  • -Z 链的计算器清零
iptables 命令及选项 指定表 指定链(输入追加删除) IP 具体要求(端口ip协议) 端口 动作
iptables -t filter -A/-I/-D -s/-d -p tcp/udp/icmp --dport/--sport -j DROP/ACCEPT/REJECT

二、filter 表

filter 表的 input 链, forward 链, output 链中存在规则
filter 表说明用于实现防火墙功能,屏蔽或准许端口

# 1.查看规则
iptables -nL
iptables -t filter -nL

# 2.查看规则并加上序号
iptables -t filter  -nL   --line-number 

# 3.开放22端口
iptables -t filter -A INPUT -p tcp --dport 22 -j ACCEPT

# 4.禁止访问22端口
iptables -t filter -A INPUT -p tcp --dport 22 -j DROP

# 5.屏蔽某个ip
iptables -t filter -I INPUT -s 172.17.0.2 -j DROP 

# 6.禁止网段连入端口
iptables -t filter -I INPUT  -s 10.0.0.0/24  -p tcp  --dport 8080  -j DROP

# 7.只准许 10.0.0.0/24 访问 ,利用 ! 进行排除 ,除了 10.0.0.0/24  都拒绝 
iptables -t filter -I INPUT ! -s 10.0.0.0/24  -j DROP

# 8.删除规则
iptables -t filter -D INPUT 1 

# 9.清空所有默认规则
iptables -F