允许在iptable中访问8080端口

我需要访问我的网站上的端口:8080但是有一个原因,我不能:

这就是我的iptable -L看起来像https://gist.github.com/28e7a48d91e933c6f377

在serverfault上search后,我刚刚添加:

 iptables -I INPUT 1 -i lo -p tcp --dport 8080 -j ACCEPT 

没有效果(甚至在一个iptable重新启动后)

如何允许port 8080访问(本地和外部,因为我要把varnish / apache2的设置)?

编辑它似乎重新启动iptable后,允许端口8080的规则已经消失:

重启后 。

谢谢。

允许iptables中的特定端口:

规则的一般forms是:

 -A INPUT -i <interface> -p <protocol> --dport <port> -j ACCEPT -I INPUT <rule no.> -i <interface> -p <protocol> --dport <port> -j ACCEPT 

规则号:您想要添加此规则的链的索引。

接口:你不用这个规则来申请的接口,不要指定是否所有的,例如eth0,lo。 您可能需要指定eth0。

协议:你想要的协议是tcp / udp。 TCP在你的情况

港口:港口号码 你希望它适用于。 在你的情况8080

确保这个规则在丢弃所有其他数据包规则之前。

您声明不起作用的原因可能是因为您已将接口指定为lo而不是eth0

为了使规则永久:

如果您只是使用命令行添加此规则,则重新启动时将丢弃该规则,因为iptables将从/etc/sysconfig/iptables再次加载。 所以如果你想永久性的,你有两个select。

  1. 使用iptable-save > /etc/sysconfig/iptables

    这将把iptablesconfiguration保存到iptables文件中,当你重新启动你的电脑时,它将被读取。 但是,如果你手动编辑该文件添加评论将被丢失。

  2. 手动编辑/etc/sysconfig/iptables文件,将此规则添加到正确的链中。 这确保您保存的评论被保存。

PS:您可能需要find您的iptables文件的位置和接口名称,并做相应的更改。

你将接受规则限制在loopback [由-i lo部分]。 允许全球访问跳过这一部分,并运行:

 iptables -I INPUT -p tcp --dport 8080 -j ACCEPT 

为了获得最佳的性能,你的iptables规则应该从下面开始:

 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 

只有在遵循其他规则之后。