在Linux系统中,设置防火墙规则通常使用iptables或firewalld两种工具。以下是这两种工具的基本使用方法:
iptables是一个功能强大的命令行工具,用于配置Linux内核防火墙。以下是一些基本的iptables命令示例:
查看当前的iptables规则:
sudo iptables -L
允许特定IP地址访问:
sudo iptables -A INPUT -s 192.168.1.100 -j ACCEPT
拒绝特定IP地址访问:
sudo iptables -A INPUT -s 192.168.1.101 -j DROP
允许特定端口访问:
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
拒绝特定端口访问:
sudo iptables -A INPUT -p tcp --dport 22 -j DROP
保存iptables规则:
sudo iptables-save > /etc/iptables/rules.v4
恢复iptables规则:
sudo iptables-restore < /etc/iptables/rules.v4
firewalld是一个动态管理防火墙的工具,支持运行时更改规则而不需要重启服务。以下是一些基本的firewalld命令示例:
查看当前的firewalld状态:
sudo firewall-cmd --state
查看所有打开的端口:
sudo firewall-cmd --list-all
允许特定IP地址访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" accept'
拒绝特定IP地址访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" reject'
允许特定端口访问:
sudo firewall-cmd --permanent --add-port=80/tcp
拒绝特定端口访问:
sudo firewall-cmd --permanent --remove-port=22/tcp
重新加载firewalld配置:
sudo firewall-cmd --reload
iptables时,规则是按顺序匹配的,因此需要注意规则的顺序。firewalld提供了更直观和易用的接口,适合大多数用户使用。根据你的具体需求和系统环境,选择合适的工具进行配置。