在银河麒麟桌面操作系统V10,如果遇到通过安全中心配置防火墙规则不生效的情况,则可以使用iptables配置防火墙规则。
一、防火墙基础知识
1.什么是防火墙?
防火墙是一种网络安全系统,用于保护计算机网络免受未经授权的访问、攻击和其他安全威胁。它通过监控和控制进出网络的数据流来实现这一目的。防火墙可以是硬件设备、软件程序或两者的结合。
2.iptables是什么?
iptables
是一种命令行工具,用于配置 Linux 系统上的防火墙规则。iptables
可以定义规则来接受、拒绝、丢弃或转发数据包。
二、基本语法
# 示例:禁止本机访问192.168.0.247
# iptables -I INPUT -s 192.168.0.247 -j DROP
# iptables 【-t 表名】【管理选项】【链名】【匹配条件】【-j 控制类型】
【-t 表名】如果不指定表名,默认是filter表
【管理选项】
- -A 添加防火墙规则
- -D 删除防火墙规则
- -I 插入防火墙规则
- -F 清空防火墙规则
- -L 列出添加防火墙规则
- -R 替换防火墙规则
- -Z 清空防火墙数据表统计信息
- -P 设置链默认规则
- -m 设置扩展模块
【链名】
- INPUT:当收到访问防火墙本机地址的数据包时,应用此链中的规则
- OUTPUT:当防火墙本机向外发送数据包时,应用此链中的规则
- FORWARD:当接收到需要通过防火墙中转发送给其他地址的数据包时,应用此链中的规则
- PREROUTING:在对数据包做路由选择之前,应用此链中的规则
- POSTROUTING:在对数据包做路由选择之后,应用此链中的规则
【匹配条件】
- 参 数 功 能
- -p 匹配协议,! 表示取反
- -s 匹配源地址
- -d 匹配目标地址
- -i 匹配入站网卡接口
- -o 匹配出站网卡接口
- –sport 匹配源端口
- –dport 匹配目标端口
- –src-range 匹配源地址范围
- –dst-range 匹配目标地址范围
- –limit 匹配数据表速率
- –mac-source 匹配源MAC地址
- –sports 匹配源端口
- –dports 匹配目标端口
- –stste 匹配状态(INVALID、ESTABLISHED、NEW、RELATED)
- –string 匹配应用层字串
【-j 控制类型】
- ACCEPT:允许数据包通过
- DROP:直接将数据包丢弃,不给出任何提示
- REJECT:拒绝将数据包丢弃,必要时给出提示
- LOG:记录日志信息,然后转发给下一跳规则继续匹配
- DNAT:目的地址转换
- SNAT:源地址转换
- MASQUERADE:地址欺骗
- REDIRECT:重定向
三、常见命令
1、查看系统是否安装防火墙
sudo -i
which iptables
whereis iptables
如下图所示:
2、清空防火墙规则
iptables -F
3、查看规则
iptables -L -n
iptables -L -n --line-number
4、保存
iptables-save
5、暂时关闭、开放所有端口(重启系统后失效)
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
四、常用规则
1、允许所有数据包访问本机
iptables -I INPUT -j ACCEPT
2、禁止本机访问192.168.0.247地址
iptables -I INPUT -s 192.168.0.247 -j DROP
3、不允许任何用户访问本机的3306端口
iptables -I INPUT -p tcp --dport 3306 -j DROP
iptables -I INPUT -p udp --dport 3306 -j DROP
4、防止ICMP类型的主机发现
iptables -I INPUT -p icmp -j REJECT
iptables -I OUTPUT -p icmp -j REJECT
5、禁止主机用户访问百度
iptables -I FORWARD -d www.baidu.com -j DROP
6、封禁IP
iptables -I INPUT -s 192.168.65.7 -j DROP
iptables -I INPUT -s 123.128.65.0/24 -j DROP
7、解封IP
iptables -D INPUT -s 192.168.65.7 -j DROP
iptables -D INPUT -s 123.128.65.0/24 -j DROP
五、配置规则永久性文件
上面添加的规则,在重启系统后就会失效,需要创建规则文件,保证规则永久有效。
1、创建规则文件
mkdir /etc/iptables
touch /etc/iptables/rules.v4
2、导入生效的配置信息
iptables-save > /etc/iptables/rules.v4
3、使防火墙生效
iptables-restore < /etc/iptables/rules.v4
4、配置iptables自启动
(1)创建/etc/network/if-pre-up.d/iptables文件。
vim /etc/network/if-pre-up.d/iptables
内容如下:
#!/bin/bash
iptables-restore < /etc/iptables/rules.v4
(2)配置文件权限
chmod +x /etc/network/if-pre-up.d/iptables