我需要访问我的网站上的端口: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。
使用iptable-save > /etc/sysconfig/iptables
这将把iptablesconfiguration保存到iptables文件中,当你重新启动你的电脑时,它将被读取。 但是,如果你手动编辑该文件添加评论将被丢失。
手动编辑/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
只有在遵循其他规则之后。