我该如何修复这些iptables?


0

我试图设置我的网络防火墙,但由于遇到错误而使我不断被踢出SSH,因此遇到了麻烦。这是我目前拥有的:

# Custom Rules
iptables -F
iptables -X
iptables -P FORWARD DROP
iptables -N mc
iptables -A mc --src 123.456.789.1 -j ACCEPT
iptables -A mc --src 123.456.789.2 -j ACCEPT
iptables -A mc --src 50.50.50.50 -j ACCEPT
iptables -A mc -i lo -j ACCEPT
iptables -A mc -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A mc -m state --state INVALID -j DROP
iptables -A mc -j DROP

# Server Rules (Main Server)
iptables -A INPUT -p tcp --match multiport --dports 64000:64321 -j ACCEPT
iptables -A INPUT -p tcp -m tcp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -p udp -m udp --sport 53 --dport 1024:65535 -m state --state ESTABLISHED -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.p19.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.rbx.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source proxy.rbx2.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p icmp --source ping.ovh.net -j ACCEPT
iptables -A INPUT -i eth0 -p tcp --dport 22 --source cache.ovh.net -j ACCEPT
iptables -A INPUT -p tcp --dport 3306 -j mc
iptables -A INPUT -p tcp -m multiport ! --dports 20,21,22,80,443,9987,20117,25565 -j mc
iptables -A INPUT -j DROP

基本上:

  • 允许访问端口64000:64321
  • 允许通过TCP(从Sport 53)访问端口1024:65535
  • 允许通过UDP(来自Sport 53)访问端口1024:65535
  • 允许从上面列出的源访问ICMP ping请求
  • 使用mc规则允许访问端口3306
  • 20,21,22,80,443,9987,20117,25565通过mc规则过滤来自端口的访问
  • 拒绝所有其他输入

1
您可能希望研究iptables-apply以避免每次您犯错时被踢出。
user2313067 2014年

Answers:


0

首先,使用此规则的“通过mc规则从端口20、21、22、80、443、9987、20117、25565进行过滤器访问”:
iptables -A INPUT -p tcp -m multiport ! --dports 20,21,22,80,443,9987,20117,25565 -j mc
由于带有感叹号而无法使用。您的规则适用于除以外的所有端口20,21,22,80,443,9987,20117,25565。如果要“通过mc规则过滤来自端口20、21、22、80、443、9987、20117、25565的访问”,则应使用:
iptables -A INPUT -p tcp -m multiport --dports 20,21,22,80,443,9987,20117,25565 -j mc

目前,在您的配置中,您仅允许对一个源地址进行ssh访问cache.ovh.net-在您的主要INPUT规则中。对于与其他端口的连接,您有一条规则:
iptables -A mc -m state --state RELATED,ESTABLISHED -j ACCEPT 允许相关的和已建立的连接正常工作。我认为与来自mc自定义规则的源地址的连接应该可以正常工作,但是对于您的主要INPUT规则,您应该添加以下内容:
iptables -A INPUT -i eth0 -p tcp --dport 22 --source cache.ovh.net -m state --state RELATED,ESTABLISHED -j ACCEPT
在此行之后:
iptables -A INPUT -i eth0 -p tcp --dport 22 --source cache.ovh.net -j ACCEPT

另外,您应该检查DNS设置。是否ping.ovh.net解析为正确的IP地址?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.