在Linux环境下,只能在选定的应用程序上限制networking的使用?
让我们说,我有非常有限的移动调制解调器预付费数据限制,我只想使用该数据限制连接到SSH。 同时限制每个其他应用程序无论如何访问networking。
有没有解决这个问题? 这将是最好的,如果它也很容易恢复正常。
iptables,linux防火墙,可以做到这一点。
iptable -F iptables -P INPUT DROP iptables -P OUTPUT DROP iptables -P FORWARD DROP
切记不要通过远程SSH会话来做到这一点。
第一条规则将分别刷新现有的防火墙规则,第二和第三块传入和传出通信量。 第四条规则阻止FORWARDs,但这可能在很大程度上与你无关。 然后,您可以添加您希望允许的stream量的条目,如下所示。
iptables -A INPUT -p tcp --dport 22 -j ACCEPT iptables -A OUTPUT -p tcp --sport 22 -j ACCEPT
你没有指定你的linux的风格,但你可以在命令行上执行这些命令,然后使用iptables-save来保存你的configuration。 或者,您可以编辑/etc/sysconfig/iptables (在基于RHEL的发行版上,可能在其他地方发行),并保存这些命令(减去iptables前缀,即-A INPUT -p tcp --dport 22 -j ACCEPT )然后使用iptables-restore加载它们。
您可以通过使用以下规则来获得更多或限制ssh连接。 以下规则仅允许来自192.168.100.Xnetworking的传入ssh连接。
iptables -A INPUT -i eth0 -p tcp -s 192.168.100.0/24 –dport 22 -m state –state NEW,ESTABLISHED -j ACCEPT iptables -A OUTPUT -o eth0 -p tcp –sport 22 -m state – 状态ESTABLISHED -j接受