在Linux系统中,可以使用iptables或firewalld两种方法来设置访问控制。以下是具体的操作步骤:
使用iptables设置访问控制
-
查看当前iptables规则:
sudo iptables -L -n -v -
允许特定IP访问:
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT这条命令允许来自IP地址192.168.1.100的TCP流量访问本地的80端口。
-
拒绝特定IP访问:
sudo iptables -A INPUT -s 192.168.1.101 -p tcp --dport 80 -j DROP这条命令拒绝来自IP地址192.168.1.101的TCP流量访问本地的80端口。
-
允许特定端口访问:
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT这条命令允许TCP流量访问本地的22端口(SSH)。
-
保存iptables规则:
sudo iptables-save > /etc/iptables/rules.v4这条命令将当前的iptables规则保存到文件中,以便系统重启后仍然有效。
使用firewalld设置访问控制
-
查看当前firewalld状态:
sudo firewall-cmd --state -
启用firewalld服务(如果尚未启用):
sudo systemctl start firewalld -
允许特定IP访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.100" port protocol="tcp" port="80" accept'这条命令允许来自IP地址192.168.1.100的TCP流量访问本地的80端口,并且规则是永久性的。
-
拒绝特定IP访问:
sudo firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.1.101" port protocol="tcp" port="80" reject'这条命令拒绝来自IP地址192.168.1.101的TCP流量访问本地的80端口,并且规则是永久性的。
-
允许特定端口访问:
sudo firewall-cmd --permanent --add-port=22/tcp这条命令允许TCP流量访问本地的22端口(SSH),并且规则是永久性的。
-
重新加载firewalld配置:
sudo firewall-cmd --reload这条命令重新加载firewalld配置,使新的规则生效。
注意事项
- iptables:适用于较旧的Linux发行版,规则保存在
/etc/iptables/rules.v4文件中。 - firewalld:适用于较新的Linux发行版,如CentOS 7及以上版本,规则保存在内存中,但可以通过
firewall-cmd --runtime-to-permanent命令将其转换为永久规则。
通过以上步骤,你可以根据需要设置Linux系统的访问控制规则。
以上就是关于“Linux防火墙怎样设置访问控制”的相关介绍,筋斗云是国内较早的云主机应用的服务商,拥有10余年行业经验,提供丰富的云服务器、租用服务器等相关产品服务。云服务器资源弹性伸缩,主机vCPU、内存性能强悍、超高I/O速度、故障秒级恢复;电子化备案,提交快速,专业团队7×24小时服务支持!
简单好用、高性价比云服务器租用链接:https://www.jindouyun.cn/product/cvm