我是 Linux 新手,使用 Ubuntu 16.10 作为桌面,但使用 minecraft 服务器来选择 IP 数量。并且 ssh 仅适用于我的国家。现在我甚至无法为 minecraft 服务器添加这些特定的 IP。我尝试使用标准策略“DROP”设置 IP 表,但当我设置 OUTPUT“DROP”时,我无法再浏览互联网。我应该更改什么?
# Generated by iptables-save v1.6.0 on Sat Feb 11 15:31:16 2017
*filter
# 1. Delete all existing rules
-F
# 2. Set default chain policies
:INPUT DROP
:FORWARD DROP
:OUTPUT DROP
# 1. Allow outbound DNS
-A OUTPUT -p udp --dport 53 -j ACCEPT
-A INPUT -p udp --sport 53 -j ACCEPT
#2. loopback toestaan
-A INPUT -i lo -j ACCEPT
-A OUTPUT -o lo -j ACCEPT
#3. reeds geverifieerde connecties toestaan in afgekeurde droppen
-A INPUT -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
-A OUTPUT -m conntrack --ctstate ESTABLISHED -j ACCEPT
-A INPUT -m conntrack --ctstate INVALID -j DROP
#4. SSH toestaan, alleen uit Nederland
-A INPUT -p tcp -m tcp --dport 22 -m geoip --source-country NL -j ACCEPT #this country-part works
-A OUTPUT -p tcp -m tcp --sport 22 -m state --state ESTABLISHED -j ACCEPT
#5. http en https outgoing toestaan
-A INPUT -p tcp -m multiport --dports 22,80,443 -m state --state NEW,ESTABLISHED -j ACCEPT
-A OUTPUT -p tcp -m multiport --sports 22,80,443 -m state --state ESTABLISHED -j ACCEPT
COMMIT
# Completed on Sat Feb 11 15:31:16 2017
答案1
您无法浏览互联网,因为您没有允许浏览互联网的规则。您需要允许传出流量到目标端口 80 和 443:
-A OUTPUT -p tcp -m multiport --dports 80,443 -j ACCEPT
顺便说一句,您的外部 SSH 连接不仅限于您自己的国家/地区,因为以后,按照您所在国家/地区特定的规则,您无论如何都会允许它。