Linux防火墙命令
本文以CentOS 7为例。
防火墙常用操作
开启防火墙
1 | systemctl start firewalld.service |
关闭防火墙
1 | systemctl stop firewalld.service |
开机自启动
1 | systemctl enable firewalld.service |
关闭开机自启动
1 | systemctl disabel firewalld.service |
查看开放的端口
1 | firewall-cmd --list-all |
添加永久开放端口
1 | firewall-cmd --zone=public --add-port=3306/tcp --permanent |
移除开放端口
1 | firewall-cmd --remove-port=3306/tcp --permanent |
重启防火墙生效
1 | firewall-cmd --reload |
查看规则
1 | iptables -L -n |
查看开放的服务
1 | firewall-cmd --list-services |
查看防火墙状态
1 | firewall-cmd --state |
伪装IP
检查是否允许伪装IP
1 | firewall-cmd --query-masquerade |
允许防火墙伪装IP
1 | firewall-cmd --add-masquerade |
禁止防火墙伪装IP
1 | firewall-cmd --remove-masquerade |
端口映射
转发的目的不指定 IP 的话就默认为本机,如果指定了 IP 却没指定端口,则默认使用来源端口。如果配置好端口转发之后不能用,可以检查以下两个方面的问题:
- 比如我将 80 端口转发至 8080 端口,首先检查本地的 80 端口和目标的 8080 端口是否开放监听了(也就是监听程序是否运行了);
- 检查是否允许伪装 IP,没允许的话要开启伪装 IP。
添加映射
1 | firewall-cmd --add-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 |
删除映射
1 | firewall-cmd --remove-forward-port=proto=80:proto=tcp:toaddr=192.168.0.1:toport=8080 |