
在Linux操作系统中,可以通过iptables或firewalld实现访问控制。以下分别介绍这两种方式的具体操作:
- 使用iptables进行访问限制
iptables是一款用于设置内核防火墙规则的命令行工具。以下是几个常见的iptables规则示例:
- 禁止某个IP地址访问:
<code>sudo iptables -A INPUT -s 192.168.1.100 -j DROP</code>
- 屏蔽特定端口(例如屏蔽80端口):
<code>sudo iptables -A INPUT -p tcp --dport 80 -j DROP</code>
- 允许指定IP访问特定端口(如允许IP 192.168.1.100访问80端口):
<code>sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT</code>
- 保存当前iptables规则:
<code>sudo iptables-save > /etc/iptables/rules.v4</code>
- 使用firewalld进行访问限制
firewalld是一个支持动态管理防火墙的工具。下面是几个常用的firewalld命令示例:
- 安装firewalld(如果尚未安装):
<code>sudo apt-get install firewalld</code>
- 启动firewalld服务:
<code>sudo systemctl start firewalld</code>
- 拒绝特定IP的访问请求:
<code>sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" reject'</code>
- 阻止访问特定端口(例如阻止TCP协议的80端口):
<code>sudo firewall-cmd --permanent --add-port=80/tcp --zone=public --add-rich-rule='rule family="ipv4" port protocol="tcp" port="80" reject'</code>
- 授权某个IP访问特定端口(如允许IP 192.168.1.100访问TCP 80端口):
<code>sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'</code>
- 刷新firewalld配置以使新规则生效:
<code>sudo firewall-cmd --reload</code>
提示:以上规则仅适用于IPv4网络环境。若需对IPv6进行类似限制,请根据需要调整相关规则参数。










