CentOS7 调教 ----firewall/iptables

CentOS7 用 firewall 命令 “替代” 了 iptables。在这里我们需要区分 “iptables 服务” 和“iptables 命令”。虽然 firewalld 是替代提供的防火墙管理 iptables 服务, 但是它仍然使用 iptables 对内核命令动态通信包过滤。所以它只是 iptables 服务代替, 而不是 iptables 命令。

如果想使用 iptables 服务,执行如下命令
[code]
systemctl stop firewalld
systemctl disable firewalld

yum install iptables-services

touch /etc/sysconfig/iptables
systemctl start iptables
systemctl enable iptables
touch /etc/sysconfig/ip6tables
systemctl start ip6tables
systemctl enable ip6table
[/code]
安装 firewalld 和 firewall-cmd 请参考结尾 link

[code]
检查防火墙状态
firewall-cmd –stat

临时开放 ftp 服务
firewall-cmd –add-service=ftp
永久开放 ftp 服务
firewall-cmd –add-service=ftp –permanent
关闭 ftp 服务
firewall-cmd –remove-service=ftp –permanent
配置防火墙在 public 区域永久开放 http 服务
firewall-cmd –permanent –zone=public –add-service=http
加入指定开放端口
firewall-cmd –add-port=1324/tcp

为了让之前的设定生效当然要重启服务咯
systemctl restart firewalld
或者使用下面的命令免去重启服务 (防火墙策略配置后重新载入)
firewall-cmd –complete-reload
firewall-cmd –reload (这两句功能相同)

检查 ftp 服务的 21 端口是否开放
iptables -L -n | grep 21
ACCEPT tcp – 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW

查询 ftp 服务启用状态
firewall-cmd –query-service ftp

查看当前规则
firewall-cmd –list-all

仅允许部分 IP 访问本机服务配置
firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=”ipv4” \
source address=”192.168.0.4/24” service name=”http” accept”

仅允许部分 IP 访问本机端口配置
firewall-cmd –permanent –zone=public –add-rich-rule=”rule family=”ipv4” \
source address=”192.168.0.4/24” \
port protocol=”tcp” port=”8080” accept”
[/code]
公共配置文件位置:/etc/firewalld/zones/public.xml

更多内容:http://oracle-base.com/articles/linux/linux-firewall-firewalld.php?utm_source=tuicool

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值