1. 小声哔哔
如果你想看iptables命令的核心原理等,那么请不要浪费时间往下看了,这篇文章是我在做了devops一段时间后总结的一些基本命令和稍微深入一点的解析。对于大神来说是小儿科,但是对于我这种开发为主的同学应该还是比较实用的。
2. 开胃菜
- 安装iptables:yum install iptables-services
- 查看防火墙状态:service iptables status或systemctl status iptables
防火墙启动时如下图:
防火墙停止时如下图:
- 停止防火墙命令:service iptables stop或systemctl stop iptables
- 开启防火墙命令:service iptables start或systemctl start iptables
- 重启防火墙命令:service iptables restart或systemctl restart iptables
- 查看防火墙规则:iptables -L -n
- 保存设置的防火墙规则(很重要,不保存重启后之前设置的策略就全部失效):service iptables save
- 清空所有默认规则:iptables -F
- 清空所有自定义规则:iptables -X
- 清空计数器:iptables -Z
注意,上面三个命令是会清除所有的防火墙规则,但是不会改变默认策略(policy后面对应的策略),执行前最好确认默认策略是什么,否则可能会将自己也挡住,可以在执行前设置默认策略为ACCEPT
- 开放端口命令:iptables -A INPUT -p tcp --dport 端口号 -j ACCEPT
示例:iptables -A INPUT -p tcp --dport 22 -j ACCEPT
- 允许来自于lo接口的数据包(本地访问):iptables -A INPUT -i lo -j ACCEPT
- 设置入口默认策略:iptables -P INPUT DROP(拒绝)或ACCEPT(接受)
- 设置出口默认策略:iptables -P OUTPUT DROP或ACCEPT
- 设置转发默认策略:iptables -P FORWARD DROP或ACCEPT
- 允许ping: iptables -A INPUT -p icmp --icmp-type 8 -j ACCEPT
- 允许来自于lo接口的数据包(本地访问):iptables -A INPUT -i lo -j ACCEPT
- iptables删除某条规则
先查看input规则:iptables -L INPUT --line-numbers -n
删除规则的命令:iptables -D INPUT 行号
就先写到这里了,这些是我用的比较多的命令,以后要是有新的心得再补充吧,也欢迎大家留言指导。