使网站可以访问互联网

使网站可以访问互联网

我知道这是很多人问到的常见问题,但由于我真的是这个领域的新手,所以我真的需要一个非常详细的步骤来说明我必须做什么。

这是我的情况:

我在我的大学使用 Ubuntu 服务器建立了一个干净的本地服务器,设置了 OpenSSH 和 LAMP 服务器(Apache2、PHP、MySQL)——没有其他东西,并在 /var/www 中创建了一个简单的 drupal 网站,然后我可以通过这个 ip 在大学本地网络中查看我的网站,ip 是 172.21.45.108。当然,我认为如果用户在网络外访问,这个 IP 根本无法使用,通过多次谷歌搜索,人们建议我们需要获取一些“静态 IP”和“域名”。通过我的新手努力,我通过 Google 通过 Enom 注册并支付了一个域名,此外,我要求我的大学为我提供一个静态 IP,他们做到了,但是,我完全不知道这些信息是做什么用的,这些信息包括:

  1. 网络名字
  2. IP地址
  3. 子网掩码
  4. 网关
  5. DNS 服务器(主要)
  6. DNS 服务器(辅助)

再次,通过我疯狂的谷歌搜索,我发现我需要将本地网络接口更改为这个 IP,所以我所做的是:

sudo vi /etc/network/interfaces

并将其更改为

auto eth0
iface eth0 inet static
address xxx.xxx.x.xxx (provided by the university)
netmask 255.255.255.0 ('---')
gateway xxx.xxx.x.x    ('---')

然后重新启动

sudo /etc/init.d/networking restart

之后,我使用 ifconfig 确认我的 eth0 已更改为该 IP,然后我首先尝试从本地网络访问它,但无法再访问它!chrome 说与 xxx.xxx.x.xxx 的连接已中断。

现在我猜我需要在某处设置 dns 服务器,经过我再次的新手努力,我发现我需要将我的 dns 服务器添加到 /etc/resolv.conf 中,所以我这样做了

nameserver xxx.xxx.x.xxx
nameserver xxx.xxx.x.xxx
search web-server

另外,我去了/etc/hosts 并将其修复为

127.0.0.1  localhost
my-static-ip web-server

然后我保存并重启整个网络。但是,我甚至无法通过本地网络访问 IP,当我尝试从服务器 ping google 时,无法访问,就好像服务器没有互联网一样。我可以确认有互联网,因为当切换回 dhcp 时,google ping 工作正常。所以我想我一定错过了一些重要的东西,但我觉得大学已经给了我足够的信息来设置,也许我需要将域名指向这个 IP?我认为这没有必要,因为甚至无法访问 IP。

请任何人启发我!:)提前谢谢您。

更新

我打电话给他们,他们给了我一个新的 IP,现在可以用了……(对他们很失望),使用静态 IP,

  1. 现在我可以 ping 网关并得到响应
  2. 我尝试使用其 IP 74.125.224.72 ping google,它也成功了
  3. 接下来我尝试 ping www.google.com,它显示“未知主机”
  4. 我尝试在本地网络中通过浏览器访问静态 IP,它也可以工作,但是当我尝试在互联网上使用浏览器时,它不起作用。

我猜我的 DNS 服务器设置不正确,你们觉得呢?

更新2

对了各位,我刚刚发现重启后/etc/resolv.conf 被清除了,所以填上之后,现在能ping www.google.com了,但是网页还是不能上网。

更新 3

此外,我通过将 /etc/apache2/ports.conf 更改为 8080 来确保我的大学没有阻止端口 80,并且与虚拟主机文件中的情况一样,它仍然无法通过互联网访问,只能通过本地网络访问。我找到了一个用于测试互联网可见性的好网站http://canyouseeme.org/。哦不...我一定是错过了一些非常小的事情....

答案1

我认为你在这方面做得太过分了,而且迷失了方向,这绝对不需要你自己设置 DNS 服务器!

http://127.0.0.1/首先尝试在浏览器中连接到在服务器上。如果此操作有效,则您的 Web 服务器肯定已在您的服务器上启动并运行。

现在你需要设置端口转发(维基百科)。端口转发告诉路由器将定义端口的传入 TCP/UDP 数据包发送到哪里。例如,如果在本地网络上,您的服务器的 IP 地址是192.168.0.5并且它正在运行 Web 服务器,您可以告诉路由器制定一条新的端口转发规则,将连接到端口 80 (http) 的任何 TCP 数据包重定向到192.168.0.5

这是基本的允许 LAN 之外的人员进行连接,因为当您连接到 Internet 等 WAN 时,您主要通过所连接的路由器进行访问。路由器需要您告诉它将这些传入数据包发送到何处,具体取决于收到的数据包的 TCP/UDP 端口。

我对大学网络了解甚少,我假设你要么通过房间里的路由器连接,要么直接连接到他们的网络(更有可能)。

在第一种情况下,您可以直接转到路由器主页并以管理员身份登录并添加端口转发规则,将端口 80 数据包发送到服务器的 IP。

在第二种情况下,您可能需要与网络管理员交谈。

设置端口转发后,您应该能够使用外部 IP 从任何地方毫无问题地连接到服务器。

域名非常简单,您只需登录您购买域名的域名注册商的网站即可。他们会有一个部分讨论“高级 DNS”或“DNS 设置”。您只需进入那里并将 @ 和 www 的 A 记录指向您的服务器的 IP。这实际上只是映射www.yourdomain.comyourdomain.com您的外部 IP 地址。

相关内容