ifconfig与防火墙的关系
在Debian系统中,ifconfig(或更现代的ip命令)是网络接口配置工具,主要用于设置IP地址、子网掩码、激活/关闭接口等,不具备防火墙功能。防火墙规则需通过iptables(传统)、nftables(下一代)或ufw(简化版)等工具配置。
iptables的继任者,语法更简洁,支持更高效的包处理,推荐新系统使用。sudo apt update
sudo apt install iptables
sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A OUTPUT -o lo -j ACCEPT
sudo iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -P INPUT DROP
sudo iptables -P FORWARD DROP
sudo iptables -P OUTPUT ACCEPT # 允许所有出站连接(可选,根据需求调整)
iptables-persistent:sudo apt install iptables-persistent
sudo netfilter-persistent save # 保存当前规则
sudo netfilter-persistent reload # 重启后自动加载
sudo iptables-save > /etc/iptables/rules.v4
sudo apt update
sudo apt install nftables
input链默认拒绝,output链允许):sudo nft add table ip filter
sudo nft add chain ip filter input { type filter hook input priority 0 \; }
sudo nft add chain ip filter output { type filter hook output priority 0 \; }
sudo nft add chain ip filter forward { type filter hook forward priority 0 \; }
sudo nft add rule ip filter input drop # 默认拒绝入站
sudo nft add rule ip filter output accept # 允许出站
sudo nft add rule ip filter input iif lo accept
sudo nft add rule ip filter input ct state established,related accept
sudo nft add rule ip filter input tcp dport 22 accept
/etc/nftables.conf,添加上述规则,然后执行:sudo nft list ruleset > /etc/nftables.conf # 备份规则
sudo systemctl enable nftables # 开机自启
sudo systemctl start nftables # 启动服务
sudo apt update
sudo apt install ufw
sudo ufw default deny incoming # 默认拒绝所有入站
sudo ufw default allow outgoing # 默认允许所有出站
sudo ufw allow ssh
sudo ufw allow http
sudo ufw allow https
sudo ufw allow 8080/tcp
sudo ufw enable
sudo ufw status # 查看规则状态(verbose模式显示详细信息)
iptables-save > ~/iptables-backup.rules),避免配置错误导致无法访问。telnet your-ip 22),确保规则生效。