iptables -t nat -nvL --line-numbers-t 表示想要查看那个表 , 这里查看的是nat表 。iptables的所有命令 , 如果不指定-t,如果不写默认是filter表 。-L 表示列出该表所有链和所有规则-v 详细显示 , 会将规则匹配的进出网口也列出来--line-numbers 表示给规则进行编号处理 。编号能方便我们后续对规则进行修改、删除等操作

文章插图
如图所示 , 表头有以下信息:
- num 表示当前规则编号 , 从1开始
- in 表示该规则会匹配那些的输入网口 , 如果包是由该网口输入 , 则会被匹配
- out 表示该规则会匹配的目标网口 , 如果包的目标网口是该网口 , 则会被匹配
- source 表示该规则匹配的具体源ip范围
- destination 表示该规则匹配的具体目标ip范围
在已知链末尾添加规则(举例 , 拒绝某个ip的访问)
iptables -t filter -A INPUT -s 59.45.175.62 -j REJECT-A 表示Append,其后紧跟的是链的名称 , 表示该条规则要被添加到哪个链中 。-s 表示包的来源ip即source 。除了指定固定的ip外 , 我们还可以指定ip范围 , 比如59.45.175.0/24-j 表示jump 也即是我们最终的动作 , 这里的动作是拒绝在已知链链首插入规则链尾的规则匹配优先级最低 , 如果前面有规则被匹配后 , 并将数据包进行了终态处理(比如:ACCEPT, DROP, REJECT) , 那么链尾的规则将永远不会被使用 。
如果我们想要该规则优先匹配 , 可以选择将其放入链首 , 使用
-I参数 , 表示insert 。举例:iptables -t filter -I INPUT -s 59.45.175.62 -j REJECT删除规则想要删除已配置的规则 , 可以使用-D参数 , 参数iptables -t filter -D INPUT -s 59.45.175.62 -j REJECT这种删法 , 要我们明确知道当初添加进去的规则是怎么写的 。如果忘了 , 我们可以通过规则编号进行删除 。在查看规则时使用参数--line-numbers(例如:iptables -nvL --line-numbers) , 可以对规则进行编号 , 然后基于编号进行删除
文章插图
iptables -t filter -D FOWARD 1 //表示删除filter表中的FORWARD链的第一条规则拒绝掉对某个ip的回应iptables -A OUTPUT -d 31.13.78.35 -j DROP-d 表示destination , 即所有返回给ip 31.13.78.35的数据包都直接丢掉 , 不回应 。清空某个链中的所有规则
iptables -t filter -F INPUT所有TCP协议的数据包 , 都丢弃iptables -A INPUT -p tcp -j DROP-p表示protocol丢弃掉某个ip对端口22的访问
iptables -A INPUT -p tcp -m tcp --dport 22 -s 59.45.175.0/24 -j DROP由于要对端口进行精准匹配 , 所以先-m tcp 进行tcp module加载 。如何对多个端口进行匹配
iptables -A INPUT -p tcp -m multiport --dports 22,5901 -s 59.45.175.0/24 -j DROP
经验总结扩展阅读
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 华为车载智慧屏值得买吗_华为车载智慧屏使用评测
- 夏天使用空调怎么更省电 空调不制冷解决方法
- Pytest进阶使用
- RAID5 IO处理之条带读代码详解
- RAID5 IO处理之写请求代码详解
- RAID5 IO处理之重构代码详解
- RAID5 IO处理之replace代码详解
- 法国大宝能当晚霜使用吗?
- 如何使用 pyqt 读取串口传输的图像
- 你们觉得华为手机卡不卡,使用体验如何(华为加装nm卡缺点)
