调整 IPTables 以接受端口 80 上的请求

通过将服务器配置为将标准 HTTP 端口 80 上接收的流量重定向到标准存储库 HTTP 端口 8080,使客户端能够访问标准端口上的存储库。

注意:这些命令假定 IPTables 的默认状态,即 on允许端口 22 上的入站 SSH 访问。这是 CentOS 6.7 的出厂默认状态。如果此默认值已更改,您可以重置它:

sudo iptables -L

注意:IPTables 规则的错误可能导致远程机器无法访问。

  1. 允许入站访问 tcp 端口 80:

    sudo iptables -I INPUT -i eth0 -p tcp --dport 80 -m comment --comment "# Anaconda Repo #" -j ACCEPT
    
  2. 允许入站访问 tcp 端口 8080:

    sudo iptables -I INPUT -i eth0 -p tcp --dport 8080 -m comment --comment "# Anaconda Repo #" -j ACCEPT
    
  3. 将80端口的入站请求重定向到8080端口:

    sudo iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 80 -m comment --comment "# Anaconda Repo #" -j REDIRECT --to-port 8080
    
  4. 显示当前的 IPTables 规则:

    iptables -L -n
    Chain INPUT (policy ACCEPT)
    target     prot opt source               destination
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:8080 /* # Anaconda Repo # */
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 /* # Anaconda Repo # */
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0           state RELATED,ESTABLISHED
    ACCEPT     icmp --  0.0.0.0/0            0.0.0.0/0
    ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0
    ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0           state NEW tcp dpt:22
    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
    
    Chain FORWARD (policy ACCEPT)
    target     prot opt source               destination
    REJECT     all  --  0.0.0.0/0            0.0.0.0/0           reject-with icmp-host-prohibited
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    

    注意:默认情况下不显示 PREROUTING (nat) IPTables 链。要显示链:

    iptables -L -n -t nat
    Chain PREROUTING (policy ACCEPT)
    target     prot opt source               destination
    REDIRECT   tcp  --  0.0.0.0/0            0.0.0.0/0           tcp dpt:80 /* # Anaconda Repo # */ redir ports 8080
    
    Chain POSTROUTING (policy ACCEPT)
    target     prot opt source               destination
    
    Chain OUTPUT (policy ACCEPT)
    target     prot opt source               destination
    
  5. 将正在运行的 IPTables 配置保存到 /etc/sysconfig/iptables

    sudo service iptables save