CentOS7 防火墙操作命令
注意事项
没有firewalld请先安装,安装命令:
yum install firewalld
firewalld基本使用
检查防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld
关闭防火墙
systemctl stop firewalld
设置开机启用防火墙
systemctl enable firewalld.service
设置开机禁用防火墙
systemctl disable firewalld.service
firewalld-cmd配置
查看版本
firewall-cmd --version
查看帮助
firewall-cmd --help
检查状态
firewall-cmd --state
查看所有打开的端口
firewall-cmd --zone=public --list-ports
更新防火墙规则
firewall-cmd --reload
更新防火墙规则/重启服务
firewall-cmd --completely-reload
开启防火墙端口
- 注意:开启或关闭防火墙端口后,更新才能生效
firewall-cmd --zone=public --add-port=8080/tcp --permanent
关闭防火墙端口
firewall-cmd --zone=public --remove-port=8080/tcp --permanent
查看端口状态
firewall-cmd --zone=public --query-port=8080/tcp
拒绝所有包
firewall-cmd --panic-on
取消拒绝状态
firewall-cmd --panic-off
查看是否拒绝
firewall-cmd --query-panic
命令详情
- –zone 信任级别
- drop: 丢弃所有进入的包,而不给出任何响应
- block: 拒绝所有外部发起的连接,允许内部发起的连接
- public: 允许指定的进入连接
- external: 同上,对伪装的进入连接,一般用于路由转发
- dmz: 允许受限制的进入连接
- work: 允许受信任的计算机被限制的进入连接,类似 workgroup
- home: 同上,类似 homegroup
- internal: 同上,范围针对所有互联网用户
- trusted: 信任所有连接
- –add-port=8080/tcp 添加端口,格式为:端口/通讯协议
- –permanent 永久生效,没有此参数重启后失效
配置IP地址伪装
查看
firewall-cmd --zone=external --query-masquerade
打开
firewall-cmd --zone=external --add-masquerade
关闭
firewall-cmd --zone=external --remove-masquerade
端口转发
- 打开端口转发,首先打开IP地址伪装
转发 tcp 8080 端口至 8081
firewall-cmd --zone=external --add-forward-port=8080:porto=tcp:toport=8081
转发端口数据至另一个IP的相同端口
firewall-cmd --zone=external --add-forward-port=8080:porto=tcp:toaddr=192.168.43.122
转发8080端口数据至另一个IP的8081端口
firewall-cmd --zone=external --add-forward-port=8080:porto=tcp:toport=8081:toaddr=192.168.43.112