Firewalld 命令的指南
一、centos7 版本对防火墙进行加强,不再使用原来的 iptables,启用 firewalld
1. firewalld 的基本使用
1 | 启动: systemctl start firewalld |
2. 配置 firewalld-cmd
1 | 查看版本: firewall-cmd --version |
3. 那怎么开启一个端口呢
添加
1 | firewall-cmd --zone=public(作用域) --add-port=80/tcp(端口和访问类型) --permanent(永久生效) |
在每次修改端口和服务后 /etc/firewalld/zones/public.xml 文件就会被修改,所以也可以在文件中之间修改,然后重新加载
使用命令实际也是在修改文件,需要重新加载才能生效。
1 | firewall-cmd --zone=public --query-port=80/tcp |
4. 参数解释
1 | # 添加的服务 |
5. 详细使用
1 | # 设置某个 ip 访问某个服务 |
二、更改 firewalld 配置文件进行配置防火墙
1. 修改 /etc/firewalld/zones/public.xml
1 | vi /etc/firewalld/zones/public.xml |
1 | <?xml version="1.0" encoding="utf-8"?> |
2. 应用配置
1 | firewall-cmd --reload |
三、centos7 以下版本(使用 iptables 开放端口)
简单参数说明
参数 | 说明 |
---|---|
-A | 添加一条 INPUT 的规则 |
-p | 指定是什么协议 (TCP/UDP) |
–dport | 就是目标端口,当前数据从外部进入服务器为目标端口 |
–sport | 数据从服务器出去,则为数据原端口 |
-j | 就是指定是 ACCEPT 接受或阻止 DROP |
1. iptables 操作案例
允许所有 IP 访问
1 | /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT |
允许指定 IP 访问
1 | iptables -A INPUT -s 192.168.10.2 -p tcp -m tcp --dport 80 -j ACCEPT |
不允许 IP 访问
1 | iptables -A INPUT -s 192.168.10.2 -p tcp -m tcp --sport 80 -j DROP |
2. 保存
1 | /etc/rc.d/init.d/iptables save |
3. 查看打开的端口
1 | /etc/init.d/iptables status |
1 | iptables -L -n |
4. 删除规则
1 | # 根据序号删除,序号从 iptables -L -n --line-number 中获得 |
5. 关闭防火墙
1) 永久性生效,重启后不会复原
1 | 开启: chkconfig iptables on |
2) 即时生效,重启后复原
1 | 开启: service iptables start |
四、其他 FTP 策略配置
放行 20、21 端口还是不能连接 FTP,因为在 PASV 模式下,建立数据传输会随机开放端口,这个端口显然是没有处于 firewall 的允许策略之下的,因为需要修改配置文件,指定端口范围。
1 | vi /etc/vsftpd/vsftpd.conf |
在最后加入以下内容,端口尽量选择高范围,提高安全性
1 | # 开启被动模式 |
然后对指定的 IP 开放指定的端口段
1 | firewall-cmd --permanent --add-rich-rule="rule family="ipv4" source address="192.168.142.166" port protocol="tcp" port="30000-31000" accept" |