我的 Kali Linux 遇到问题。
使用以下命令更改 IP 地址后,我无法连接到互联网:
ifconfig eth0 198.168.198.130 netmask 255.255.255.0 up
之后,当我打开iceweasel
浏览器时,它显示
cannot connect to server
check your internet connection
我该如何解决这个问题(并且我忘记了我的旧IP地址)?
答案1
对于“正常”网络连接,您基本上需要三件事:
A有效的IP地址
一个网关,为您提供与“互联网”的连接
将主机名(例如
unix.stackexchange.com
)解析为 IP 地址的名称服务器。
IP地址
您不能选择任意IP地址;相反,您必须根据您的本地网络拓扑选择一种。例如,如果您位于子网中198.168.198.0/24
,则可以选择198.168.198.130
,但不能选择8.8.4.4
。
确保您选择的 IP 地址确实有效(“联系您的网络管理员”:-))
此外,您还必须确保您的 IP 对于您的本地网络来说是唯一的,例如,您不能拥有两个具有相同 IP 地址的主机(再次“联系您的网络管理员”)
这是您到目前为止已完成的步骤。
网关
网络流量必须发送到网关,该网关知道如何将其进一步分发到“互联网的其余部分”。手动设置 IP 地址时,您还必须手动设置gateway
与路由器的网络连接。
就像是:
# route add default gw 192.168.198.1
路由器的实际 IP 地址取决于网络(但对于像您这样的专用网络,通常是这样<network>.1
)。
如果您正确配置了网关,您应该已经具有完整的 Internet 连接,即:您应该能够访问任何(可访问的)服务器。您可以通过尝试ping
远程 IP 地址来确认它是否正常工作:
$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=50 time=51.6 ms
(但请注意,某些网络管理员喜欢使用防火墙阻止 ping 请求)。
域名系统
即使您已连接到互联网,您可能仍然无法使用firefox/iceweasel
,只是因为您的系统尚不知道如何将类似名称unix.stackexchange.com
转换为 IP 地址。
您还必须指定名称服务器。这可以在文件中配置/etc/resolv.conf
。
例如,以下内容将配置您的系统以使用 Google 的公共名称服务器进行 DNS 解析:
# echo "nameserver 8.8.8.8" > /etc/resolv.conf
将使您的系统使用 IP 地址的名称服务器8.8.8.8
。现在您应该能够使用域名,并且一切都应该正常工作:
$ ping unix.stackexchange.com
PING unix.stackexchange.com (198.252.206.16) 56(84) bytes of data.
64 bytes from stackoverflow.com (198.252.206.16): icmp_seq=1 ttl=53 time=146 ms
只需使用 DHCP
许多网络通过以下方式提供客户端网络配置动态主机配置协议,它将自动为您的计算机提供有关要使用的 IP 地址、网络掩码、网关和名称服务器的信息。
您可以重新触发此过程(前提是是网络中的 DHCP 服务器)通过运行:
# dhclient -v