我在虚拟机上安装了 CentOS 7 min,内部 IP 为 10.1.10.131,并在其上安装了 Apache 2.4.52。当我在浏览器中输入 10.1.10.131 时,我可以访问登录页面。但是,当我使用外部 IP 地址或与其关联的域时,我收到超时错误。Apache 日志中没有记录任何错误,这让我相信请求没有到达 Apache。
我认为这意味着 CentOS 和 Apache 安装之外的某些东西存在问题,导致出现此问题,因为我可以使用内部 IP 地址访问登录页面。但是,我不知道问题是什么。
我在路由器上设置了端口转发,以便将端口 80、8080 和 443 上的请求发送到 10.1.10.131。我已禁用防火墙,并安装并启用了 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/网络脚本/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...
答案1
它不允许我仅从 LAN 内连接到外部 IP。它允许我在 LAN 外使用手机网络进行连接。
问题解决了。