如何设置iptables来阻止除SSH在Debian的Linux的所有流量?
检查当前iptables配置
iptables -S
如下输出应该是空的…
-p输入ACCEPT -P FORWARD ACCEPT -P OUTPUT ACCEPT
如果你的iptables是不是空的正上方,然后额外的端口可能是你的机器上开启. 在这种情况下, 刷新表, 类型 iptables -F, 然后通过键入检查iptables配置 iptables -S.
保证是根
su
一次输入以下配置命令一行. 请确保输入顺序是一样的下面, 否则,你可能会阻止SSH.
iptables的INPUT -A -i LO -j ACCEPT iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT iptables的-A OUTPUT -o LO -j ACCEPT iptables的-A OUTPUT -p tcp的--sport 22 -米状态--state ESTABLISHED -j ACCEPT iptables的-P INPUT DROP iptables的-P OUTPUT DROP
在以上, Lo是这是由一些应用程序,没有它的一些应用程序可能需要打破的环回适配器.
您也可以允许所有流量输出. 因此, 以下规则将改为适用上述的…
iptables的INPUT -A -i LO -j ACCEPT iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT iptables的-P INPUT DROP
如果你想允许建立相关的数据包,然后下面的规则将适用. 如果没有这个,你将无法使用apt-get和git请求. 改用以上的下列 2 规则集.
iptables的INPUT -I -m状态--state ESTABLISHED,相关-j ACCEPT iptables的INPUT -A -i LO -j ACCEPT iptables的INPUT -A -p tcp的-m TCP --dport 22 -ĴACCEPT iptables的-P INPUT DROP
一旦你决定最适合您的系统的规则, 你将需要保存的规则, 否则他们不会重启后持续
保存规则文件
iptables-save > /etc/iptables.conf
上述保存您的规则文件. 然后,您将需要加载在每次重新启动您的规则
nano /etc/rc.local
以下行添加到文件, 以上 exit 0
iptables-restore < /etc/iptables.conf
下面是一些含义的规则...
确定的含义,所述分组与已经看到分组在两个方向上的连接相关联
相关含义数据包开始新的连接, 但与现有连接相关联, 如FTP数据传送, 或者一个ICMP错误.
