如果这个问题已经有人问过/回答过,请原谅我,但我一直搜索但没有成功。
刚刚在我的家庭网络上设置了一台 12.04 机器,目的是将其用作内部开发/暂存服务器。我让 Apache、MySQL 等都完美而快速地运行起来,很快网络上的所有其他机器都可以查看结果,并访问我在其上设置的共享文件夹。
问题是,虽然它在启动后运行良好,但机器会在短时间(通常在一小时内)后从网络中“消失”。当它出现这种情况时,我无法访问它正在运行的 Apache 站点,共享文件夹消失,我甚至无法 ping 它?
在您假设这是动态 IP 问题之前,我确实已将路由器设置为根据其 MAC 地址为其提供静态 IP(它是 WiFi),并且效果很好。即使在它“消失”之后,它仍然在 192.168.1.115 处运行良好(由其网络信息窗口确认)。
只是该地址的一切都停止响应……?
现在我读了一些帖子,它们暗示这可能与我没有将 Ubuntu 本身配置为静态地址有关(尽管这对我来说没有意义,因为路由器已经配置为静态地址,并且 Ubuntu 承认这是可行的)。
就像经常发生的情况一样,我发现了无数关于如何纠正该问题的帖子,但没有两篇是相同的,而且由于这在过去给我带来了麻烦,所以我首先想看看是否有人认为这是问题所在,如果不是,那可能是什么?
谢谢
答案1
它仍然运行良好,地址为 192.168.1.115(由其网络信息窗口确认)
尝试使用 ping 和 ifconfig 作为网络故障排除。
前往你的服务器
打开终端(按 CTRL + ALT + T)
类型
ifconfig
由于您使用的是 wifi,因此请检查 wlan0 或类似部分。如果是有线的,请检查 eth0 或类似部分。
找到
inet 地址:
你看到从 192 开始的数字了吗?
例 192.168.1.115
这是你的服务器的 IP。
我希望你确保你也可以 ping 到你的路由器。
在服务器上打开终端
类型
route -n
请参阅网关部分。我假设您的网关为 192.168.1.1。
ping 192.168.1.1
如果你能 ping 通,就直接 ping google
ping google.com
当您成功 ping 通路由器和谷歌时,您就可以开始了!上述步骤非常重要。当您无法 ping 通谷歌时,这表明名称解析根本不起作用。请确保在网络设置中设置 DNS IP。
如果您无法 ping 通路由器,则静态 IP 无法正常工作。请确保您在网络配置中也设置了静态 IP。
如果你使用 DHCP 而不是使用静态 IP,你可以通过以下方式从 DHCP 服务器请求新 IP:
sudo dhclient wlan0
关于你的 apache 服务器,请尝试通过以下方式重新启动 apache
sudo /etc/init.d/apache2 重新启动
转到其他机器
打开您喜欢的浏览器
在 URL 栏中输入服务器 IP。
有用!应该出现。
祝你好运。
---------------更新-------------------
防火墙设置
@ByteTraveler 尝试从其他机器(而不是从服务器)ping 192.168.1.115。你看到任何响应了吗?如果没有,防火墙可能会造成问题。这不是理想的解决方案,但可以关闭仅针对家庭 LAN 的一些防火墙规则。使用星巴克 WiFi 等时,请务必打开防火墙。Ubuntu 有一个很棒的防火墙实用程序,名为 ufw。在这里,我假设您在 LAN 中使用 Windows Samba 共享。转到您的服务器,启动终端。
代码:
sudo ufw default deny
sudo ufw allow proto tcp to any port 135 from 192.168.1.0/24
sudo ufw allow proto udp to any port 137 from 192.168.1.0/24
sudo ufw allow proto udp to any port 138 from 192.168.1.0/24
sudo ufw allow proto tcp to any port 139 from 192.168.1.0/24
sudo ufw allow proto tcp to any port 445 from 192.168.1.0/24
sudo ufw allow 80
sudo ufw enable
sudo service ufw restart
或者
不建议关闭所有防火墙。但暂时可以这样做...
代码:
sudo service ufw stop
开始
sudo service ufw start