分享技术 · 探索极限 · Code is Art
Linux 发布 2016-06-19 1.3k 阅读 约 4 分钟阅读

CentOS 7 firewalld 使用笔记

整理 CentOS 7 firewalld 的基础概念、zone 信任级别、服务启停、端口放行、服务管理、地址伪装和端口转发命令。

CentOS 7 引入了 firewalld 服务,用 zone 的方式管理不同网络连接的信任级别。它支持 IPv4、IPv6 和网桥,可以通过 firewall-cmd 或图形界面动态管理 netfilter 规则。

安装

yum install firewalld
yum install firewall-config

服务管理

systemctl start firewalld
systemctl enable firewalld
systemctl stop firewalld
systemctl disable firewalld

查看状态与 zone

firewall-cmd --state
firewall-cmd --get-active-zones
firewall-cmd --get-zone-of-interface=eth0
firewall-cmd --zone=public --list-interfaces
firewall-cmd --zone=public --list-all
firewall-cmd --get-service
firewall-cmd --get-service --permanent

管理规则

firewall-cmd --panic-on
firewall-cmd --panic-off
firewall-cmd --query-panic
firewall-cmd --reload
firewall-cmd --complete-reload

设置默认 zone 与接口

firewall-cmd --zone=public --add-interface=eth0 --permanent
firewall-cmd --set-default-zone=public

管理端口

firewall-cmd --zone=dmz --list-ports
firewall-cmd --zone=dmz --add-port=8080/tcp
firewall-cmd --zone=public --add-port=5060-5059/udp --permanent

管理服务

firewall-cmd --zone=work --add-service=smtp
firewall-cmd --zone=work --remove-service=smtp

配置地址伪装

firewall-cmd --zone=external --query-masquerade
firewall-cmd --zone=external --add-masquerade
firewall-cmd --zone=external --remove-masquerade

端口转发

打开端口转发前,需要先开启 masquerade。

firewall-cmd --zone=external --add-masquerade
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=3753
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toaddr=192.168.1.100
firewall-cmd --zone=external --add-forward-port=port=22:proto=tcp:toport=2055:toaddr=192.168.1.100

发表回复