在Linux系统中,有多种工具可以用来实现访问控制,其中最常用的是iptables和nftables。以下是使用这些工具进行访问控制的基本步骤:
查看现有规则
sudo iptables -L -n -v
允许特定IP访问
sudo iptables -A INPUT -s 192.168.1.100 -p tcp --dport 80 -j ACCEPT
拒绝特定IP访问
sudo iptables -A INPUT -s 192.168.1.101 -p tcp --dport 80 -j DROP
允许特定端口访问
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT # 允许SSH
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT # 允许HTTP
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT # 允许HTTPS
拒绝所有其他入站连接
sudo iptables -P INPUT DROP
保存规则
sudo iptables-save > /etc/iptables/rules.v4
nftables是iptables的下一代,提供了更灵活和高效的规则管理。
查看现有规则
sudo nft list ruleset
允许特定IP访问
sudo nft add rule ip filter input ip saddr 192.168.1.100 tcp dport 80 accept
拒绝特定IP访问
sudo nft add rule ip filter input ip saddr 192.168.1.101 tcp dport 80 drop
允许特定端口访问
sudo nft add rule ip filter input tcp dport 22 accept # 允许SSH
sudo nft add rule ip filter input tcp dport 80 accept # 允许HTTP
sudo nft add rule ip filter input tcp dport 443 accept # 允许HTTPS
拒绝所有其他入站连接
sudo nft add rule ip filter input drop
保存规则
sudo nft list ruleset > /etc/nftables.conf
iptables-save
和iptables-restore
命令;对于nftables,可以直接保存到配置文件中。通过以上步骤,你可以有效地使用iptables或nftables来实现Linux系统的访问控制。