需要iptables规则来接受所有传入流量


34

对于我的测试环境,我要接受所有传入的流量,有人可以给我iptable规则进行添加。

我当前的iptables -L -n输出看起来像这样

链输入(策略接受)目标Prot opt源
目的地接受全部-0.0.0.0/0 0.0.0.0/0
状态相关,已确定的接受icmp
-0.0.0.0/0 0.0.0.0/0全部接受-0.0.0.0 / 0 0.0.0.0/0 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0状态新的tcp dpt:22全部
拒绝-0.0.0.0/0 0.0.0.0/0 使用icmp-host禁止ACCEPT tcp-0.0.0.0/0
0.0.0.0/0 tcp dpt:8443 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 tcp dpt:8080 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 tcp dpt:9443 ACCEPT tcp-0.0.0.0/0 0.0.0.0/0 tcp dpt:2124

Chain FORWARD(策略接受)目标prot opt源
目标REJECT all-0.0.0.0/0 0.0.0.0/0
reject-with icmp-host-prohibited

链输出(策略接受)目标prot opt源
目的地

谢谢

Answers:


53

运行以下命令。它将规则插入iptables的顶部,并允许所有流量,除非随后由另一个规则处理。

iptables -I INPUT -j ACCEPT

您还可以使用以下方法刷新整个iptables设置:

iptables -F
iptables -X
iptables -t nat -F
iptables -t nat -X
iptables -t mangle -F
iptables -t mangle -X
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

如果刷新它,则可能需要运行以下命令:

iptables -A INPUT -i lo -j ACCEPT -m comment --comment "Allow all loopback traffic"
iptables -A INPUT ! -i lo -d 127.0.0.0/8 -j REJECT -m comment --comment "Drop all traffic to 127 that doesn't use lo"
iptables -A OUTPUT -j ACCEPT -m comment --comment "Accept all outgoing"
iptables -A INPUT -j ACCEPT -m comment --comment "Accept all incoming"
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT -m comment --comment "Allow all incoming on established connections"
iptables -A INPUT -j REJECT -m comment --comment "Reject all incoming"
iptables -A FORWARD -j REJECT -m comment --comment "Reject all forwarded"

如果您想更安全地使用流量,请不要使用“接受所有传入规则”,或使用“ iptables -D INPUT -j ACCEPT -m comment --comment”“接受所有传入””将其删除,并添加更多内容具体规则如下:

iptables -I INPUT -p tcp --dport 80 -j ACCEPT -m comment --comment "Allow HTTP"
iptables -I INPUT -p tcp --dport 443 -j ACCEPT -m comment --comment "Allow HTTPS"
iptables -I INPUT -p tcp -m state --state NEW --dport 22 -j ACCEPT -m comment --comment "Allow SSH"
iptables -I INPUT -p tcp --dport 8071:8079 -j ACCEPT -m comment --comment "Allow torrents"

注意:它们必须位于底部的2个拒绝规则之上,因此请使用I将它们插入顶部。或者,如果您像我一样是肛门,请使用“ iptables -nL --line-numbers”获取行号,然后使用“ iptables -I INPUT ...”在特定行号处插入规则。

最后,使用以下命令保存您的工作:

iptables-save > /etc/network/iptables.rules #Or wherever your iptables.rules file is

1
这个答案终于结束了我的痛苦。该答案解决了以下问题:“我如何使#@ $#%iptables可以执行我想要的操作,并且只执行我想要的操作”,我建议的唯一改进是添加转发端口的示例。(即80到8080和443到8443)我认为关于iptables的问题中有99%将在1个帖子中得到回答。
埃里克·哈特福德2014年

回到这个有点晚了,但是在这里。将流量从一个端口重定向到另一个端口:“ iptables -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 8080”。调整它以执行您想要的任何事情都非常容易。唯一的要求是必须打开两个端口(通过此语句上方的条目。)请尽情享受!
Alex Atkinson

16

要接受所有传入的流量,可以使用以下命令,-P将默认策略设置为accept

iptables -P INPUT ACCEPT  

如果您不需要以前的规则,只需刷新/删除它们,然后使用上面的命令。
刷新所有规则使用

iptables -F    
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.