iptables|常规使用

查看规则

ipatbles -t filter -L

-t参数指定表名
-L参数列出规则

还可以使用-v显示更详细的规则信息

iptables -vL

不指定-t参数时,默认都是filter表

#命令输出信息
Chain INPUT (policy ACCEPT 13 packets, 10752 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  *      *       192.168.1.102        0.0.0.0/0
#字段解释
#policy:默认策略
#packets|pkts:策略或者规则匹配到的包的个数
#bytes:策略或者规则匹配到的所有包的大小
#target:规则对应的动作
#prot:规则对应的协议
#opt:规则对应的选项
#in:数据包来源接口
#out:数据包输出接口
#source:来源地址
#destination:目标地址

–-line-numbers或者--line参数可以显示规则编号
-n参数可以不对IP进行名称反解析,来源地址和目标地址都直接显示IP
-x参数显示精确可读性高的计数值

可以在末尾指定只查询某链规则

iptables -vL PREROUTING

新增规则

iptables -I INPUT -s 192.168.1.102 -j DROP

-I参数表示在INPUT链的filter表首部插入规则
-s参数表示匹配来源地址,反之-d参数表示目标地址
-j参数表示匹配条件符合后执行的动作

iptables -A INPUT -s 192.168.1.102 -j ACCEPT

-A参数表示在INPUT链的filter表末尾插入规则

注意:相同的匹配条件,只会执行匹配到第一条规则的动作,后面的不会执行

地址范围取值则需要借助iprange模块

iptables -I INPUT -m iprange --src-range 192.168.1.102-192.168.1.105 -j DROP

-m参数模块
--src-range参数表示来源地址范围,--dst-range参数表示目标地址范围

iptables -A INPUT -s ! 192.168.1.102 -j ACCEPT

!表示匹配条件取反,这里表示匹配来源地址不是192.168.1.102的主机

iptables -I INPUT 2 -s 192.168.1.102 -j REJECT

这里是将规则插入到第二行,使用--line参数可以查询

iptables -I INPUT -s 192.168.1.102 -m tcp -p tcp --dport 22 -j REJECT

--dport参数匹配目标端口,与之对应的则有--sport参数匹配来源端口
-p参数匹配协议类型

dport和sport参数还有一种端口范围取值的写法

iptables -I INPUT -s 192.168.1.102 -m tcp -p tcp --dport 22:25 -j REJECT
#22~25端口
iptables -I INPUT -s 192.168.1.102 -m tcp -p tcp --dport :25 -j REJECT
#0~25端口
iptables -I INPUT -s 192.168.1.102 -m tcp -p tcp --dport 22: -j REJECT
#22~65535端口

多个不连续的端口写法,则需要借助multiport模块

iptables -I INPUT -s 192.168.1.102 -m multiport -p tcp --dports 22,80:85,443 -j REJECT

multiport有dports和sports两个参数,注意port后面有个s哦!该模块只能用于tcp与udp

iptables -I INPUT -i ens33 -p icmp -j DROP

-i参数表示匹配报文流入的网络接口(用于PREROUTING、INPUT、FORWARD)
与之对应的有匹配-o参数指定报文流出的网络接口(用于FORWARD、OUTPUT、POSTROUTING)

删除规则

iptables -t filter -D INPUT 3

-D参数删除规则,删除INPUT链filter表中的第三个规则,使用--line参数可以查询

也可以直接写明匹配条件和动作等删除规则

iptables -D INPUT -s 192.168.1.102 -j DROP

清空规则

清除INPUT链中的规则

iptables -F INPUT

修改规则

iptables -R INPUT 1 -s 192.168.1.103 -j REJECT

-R参数修改规则,后面接需要修改的参数即可

注意:不指定来源地址则会默认为0.0.0.0/0,会有更改成对全部来源地址进行动作的风险

修改默认策略

iptables -P INPUT DROP

保存规则到文件

iptables-save > /opt/iptables.txt

从文件重载规则

iptables-restore < /opt/iptables.txt

开机自动加载规则

Debian/Ubuntu

安装iptables-persistent

apt install iptable-persistent -y

保存规则

netfilter-persistent save

Centos/Redhat

直接将规则覆盖到指定文件

iptables-save > /etc/sysconfig/iptables
ip6tables-save > /etc/sysconfig/ip6tables
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!