Ran*_*leb 2 server iptables vmware
由于某种原因,当我尝试运行时,sudo iptables -L加载需要很长时间。我正在从脚本加载规则,它通过具有 2MB 专用 RAM 的 VMWare Fusion 在 Ubuntu 服务器虚拟机上。我偶尔也会遇到其他错误,例如“另一个应用程序当前正在持有 xtables 锁。也许您想使用 -w 选项?” 当我尝试运行sudo iptables -L. 这个错误往往会在服务器重新启动后消失,但有时当我回来时我的脚本已损坏。对代码进行某些修改后,我尚未收到此错误。
我只能发布脚本的部分代码,因为这是一项家庭作业,但解决这个问题不是作业的一部分。
#flushing all the rules
iptables --flush
iptables -X
iptables --policy INPUT DROP
iptables --policy OUTPUT ACCEPT
iptables --policy FORWARD DROP
iptables -A INPUT -i lo -j LOG --log-prefix "LOOPBACK IN : "
iptables -A OUTPUT -o lo -j LOG --log-prefix "LOOPBACK OUT: "
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j LOG --log-prefix "Established-IN"
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j LOG --log-prefix "Established-OUT"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
...specific port acceptance per IP address, no NEW states (not sure if relevant)...
iptables -A INPUT -s $LOCAL_NETWORK -d $SERVER_IP -j LOG --log-prefix "Unauthorized local connection: "
iptables -A INPUT -s $LOCAL_NETWORK -d $SERVER_IP -j REJECT
Run Code Online (Sandbox Code Playgroud)
iptables -L默认情况下会尝试将 IP 地址解析为主机名。
我在这个系统上有一个小的 iptables 规则集,但由于规则的原因,即使是这个小列表也需要一段时间才能完成。
通过使用iptables -L -n,它以数字方式显示所有内容,并跳过 IP 解析和端口服务通用名称显示。它还应该显示得更快。(该-n选项告诉它显示所有内容的数字条目,并且不会尝试解析 IP。缺点是,端口也将以数字方式显示,而不是例如端口 80 的 http。)