我正在尝试在我的 Ubuntu 服务器上安装 nodejs,但它似乎无法访问互联网。
我的服务器有两个网络接口:
eth0
连接到我的网络eth1
有时用于连接到第二个网络,但通常不使用。
我的网关是普通 C 类网络上的 192.168.0.1。
当我尝试 ping 网络内的任何主机时,一切正常,但当我尝试 ping 网关时,我无法收到任何响应,并且当我尝试 ping 任何外部域时,无论提供的名称解析如何正确,都会发生同样的情况通过我的 DNS。
这是我的配置:
如果配置:
root:~# ifconfig
eth0 Link encap:Ethernet HWaddr a4:5d:36:c3:44:18
inet addr:192.168.0.168 Bcast:192.168.0.255 Mask:255.255.255.0
inet6 addr: fe80::a65d:36ff:fec3:4418/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:31531 errors:0 dropped:108 overruns:0 frame:0
TX packets:6734 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:3896820 (3.8 MB) TX bytes:930411 (930.4 KB)
Interrupt:16
eth1 Link encap:Ethernet HWaddr a4:5d:36:c3:44:19
inet addr:192.168.1.1 Bcast:192.168.1.255 Mask:255.255.255.0
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:65536 Metric:1
RX packets:16 errors:0 dropped:0 overruns:0 frame:0
TX packets:16 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:68235 (68.2 KB) TX bytes:68235 (68.2 KB)
我的路线:
root@:~# ip route show
default via 192.168.0.1 dev eth0
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.168
192.168.1.0/24 dev eth1 proto kernel scope link src 192.168.1.1
/etc/网络/接口
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
metric 0
address 192.168.0.168
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
gateway 192.168.0.1
dns-nameservers 192.168.0.3 192.168.0.2
auto eth1
iface eth1 inet static
metric 1
address 192.168.1.1
netmask 255.255.255.0
gateway 192.168.0.168
dns-nameservers 192.168.1.1 192.168.0.168
哪里有问题?
答案1
请编辑/etc/sysctl.conf
这些行并将其添加到底部:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
然后运行命令
sysctl -p
sudo
如果您没有以 root 身份登录,请使用。然后你应该在终端上看到这个:
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
和
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
应该给出输出
1
192.168.0.1
然后再次尝试 ping IP 地址。
编辑
似乎还需要注释掉/etc/hosts
文件中的 IPV6 条目。经过一番聊天才明白。
答案2
您不能有两个默认网关。删除 auto eth1 下的 gateway 命令。
如果您无法 ping 通您的网关,并且它连接到同一个交换机(或者是交换机),则您遇到的问题与网关无关。其他机器是否可以与网关通信,或者这是问题所在?
注释掉 eth1 的设置以避免出现问题,直至修复。