我在内部 IP 为 10.1.10.131 的虚拟机上安装了 CentOS 7 分钟,并在其上安装了 Apache 2.4.52。当我在浏览器中输入10.1.10.131时,我可以访问登陆页面。但是,当我使用外部 IP 地址或与其关联的域时,我收到超时错误。Apache 日志中没有记录任何错误,这让我相信请求没有到达 Apache。
在我看来,这意味着 CentOS 和 Apache 安装之外的某些问题导致了该问题,因为我可以使用内部 IP 地址访问登陆页面。但是,我无法弄清楚这个问题是什么。
我的路由器设置有端口转发,可以将端口 80、8080 和 443 上的请求发送到 10.1.10.131。我禁用了firewalld,并安装并启用了iptables。这是我的 iptable 规则(这些规则不会触发任何错误或警告,并且用于在 CentOS 6.5 上工作):
/etc/sysconfig/iptables
:INPUT ACCEPT [65:25952]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [62:23642]
# allow loopback
-A INPUT -i lo -j ACCEPT
# allow connections that originate from server
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
-A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
# icmp rules
#-A INPUT -p icmp --icmp-type any -j ACCEPT
-A INPUT -p icmp --icmp-type echo-request -m limit --limit 20/s --limit-burst 5 -j ACCEPT
#-A INPUT -p icmp -m icmp --icmp-type echo-request -j ACCEPT
# allow internal access to SSH/SFTP and MySQL ports
-A INPUT -s 10.1/16 -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -p tcp --dport 22 -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p tcp --dport 22 -m state --state NEW -m limit --limit 3/hour --limit-burst 3 -j ACCEPT
-A INPUT -p tcp --dport 22 -j DROP
-A INPUT -s 10.1/16 -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
-A INPUT -p tcp --dport 3306 -j DROP
# allow external access to Apache ports
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
# misc rules
-A OUTPUT -p tcp -m multiport --dports 6660,6661,6662,6663,6664,6665,6666,6667,7000 -j REJECT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
我很困惑,非常感谢任何反馈或帮助。如果需要,我愿意提供更多信息。
编辑 1:我有一条商业互联网线路和一个静态 IP 地址。
编辑2:这可能与虚拟机有关吗?我正在使用 Oracle Virtual Box 并将网络适配器设置为桥接适配器。
这是 CentOS 网络设置
/etc/sysconfig/network-scripts/ifcfg-enp0s3
TYPE=Ethernet
PROXY_METHOD=none
BOOTPROTO=none
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=enp0s3
UUID=...
DEVICE=enp0s3
ONBOOT=yes
IPADDR=10.1.10.131
PREFIX=24
GATEWAY=10.1.10.1
DNS1=...
DOMAIN=...
IPV6_PRIVACY=no
编辑 3:我禁用了 iptables,但在使用外部 IP 地址时浏览器仍然超时。这可能意味着它不是 iptables...