iptables常用命令

2020-08-12  本文已影响0人  freefishz2

iptables是Linux系统网络流量管理的强力工具。

iptables规则是即时生效的,无需重启服务或加载配置。因此,必须非常小心,否则会把你自己锁在系统之外。

不要同时运行firewaldipatables

总是优先应用可以让你进入系统的规则。

1. 列出iptables规则

# 仅列出行号和规则
$ sudo iptables -L --line-numbers

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
2    DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination  

2. 整理规则顺序

iptables总是从上到下读取规则,找到符合条件的规则即停止。如果规则顺序设置错了,可以通过以下方法整理:

# 1. 导出规则
$ sudo iptables-save > ~/iptables.txt

# 2. 使用文本编辑器修改

# 3. 导入规则
$ sudo iptables-restore < ~/iptables.txt

3. INPUT vs. OUTPUT

4. 添加规则

两种添加规则方式:

5. 删除规则

# 1. 列出带行号的规则
$ sudo iptables -L --line-numbers

Chain INPUT (policy ACCEPT)
num  target     prot opt source               destination         
1    ACCEPT     tcp  --  192.168.1.0/24       anywhere             tcp dpt:ssh
2    DROP       all  --  anywhere             anywhere            

Chain FORWARD (policy ACCEPT)
num  target     prot opt source               destination         

Chain OUTPUT (policy ACCEPT)
num  target     prot opt source               destination  

# 2. 根据行号删除规则
$ sudo iptables -D INPUT 2

6. 导出规则

$ sudo iptables-save > /etc/sysconfig/iptables

iptables规则再重启后会清零,可以将规则导出到文件,然后在重启后重新加载。

7. 标准规则

建议:建立最小白名单规则,然后按需添加必要的规则。

上一篇 下一篇

猜你喜欢

热点阅读