允许通过 iptables 下载

允许通过 iptables 下载

我在 Centos 7 上使用 iptables,但在启用 iptables 时无法更新或安装数据包。 iptables 中必须接受哪个端口才能允许 yum 更新/安装?

答案1

yum 默认使用 TCP 端口 80。您可以将规则添加到 IP 表中,如下所示:

# iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT

如果需要,请将接口从 eth0 更改为 em0。确保您添加的规则高于您的拒绝规则。

资料来源:

https://www.centos.org/forums/viewtopic.php?t=30338

http://www.binarytides.com/open-http-port-iptables-centos/

答案2

如果您的策略是 drop,那么您需要添加这些规则。

作为具有权限的用户:

modprobe conntrack

iptables -I INPUT 6 -p tcp -m tcp --sport http -m conntrack --ctstate ESTABLISHED -j ACCEPT -m comment --comment "http input port 80"

iptables -I OUTPUT 6 -p tcp -m tcp --dport http -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -m comment --comment "http output port 80"

HTTP 表示端口 (80)

注释允许您识别 IPtables 上的规则。

答案3

添加了这些规则,当我尝试更新/安装时总是被阻止:

iptables -t filter -A INPUT -p tcp --dport 80 -j ACCEPT iptables -t filter -A OUTPUT -p tcp --sport 80 -j ACCEPT

你有主意吗?

答案4

最近为端口 53,80,443 添加了一些规则,但我仍然无法更新/安装。这是我用来设置规则的脚本:

#!/bin/sh

# flush all
iptables -t filter -F
iptables -t filter -X

# Deny i/o
iptables -t filter -P INPUT DROP
iptables -t filter -P FORWARD DROP
iptables -t filter -P OUTPUT DROP

# Established co
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

# loopback
iptables -t filter -A INPUT -i lo -j ACCEPT
iptables -t filter -A OUTPUT -o lo -j ACCEPT

# ICMP
iptables -t filter -A INPUT -p icmp -j ACCEPT
iptables -t filter -A OUTPUT -p icmp -j ACCEPT

# SSH
iptables -t filter -A INPUT -p tcp --dport 666 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 666 -j ACCEPT

# DNS
iptables -t filter -A INPUT -p tcp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 53  -j ACCEPT
iptables -t filter -A INPUT -p udp --dport 53 -j ACCEPT
iptables -t filter -A OUTPUT -p udp --sport 53 -j ACCEPT

# FTP
iptables -t filter -A INPUT -p tcp --dport 20:21 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 20:21 -j ACCEPT

# HTTP/S
iptables -t filter -A INPUT -p tcp --dport 80:443 -j ACCEPT
iptables -t filter -A OUTPUT -p tcp --sport 80:443 -j ACCEPT

相关内容