手动更改IP地址后如何在Kali Linux中连接到Internet?

sun*_*nny 3 networking kali-linux

我的 Kali Linux 有问题。

使用以下命令更改 IP 地址后,我无法连接到 Internet:

ifconfig eth0 198.168.198.130 netmask 255.255.255.0 up
Run Code Online (Sandbox Code Playgroud)

在此之后,当我打开iceweasel浏览器时,它显示

cannot connect to server 
check your internet connection
Run Code Online (Sandbox Code Playgroud)

我该如何解决(我忘记了旧 IP 地址)?

uml*_*ute 10

对于“正常”网络连接,您基本上需要三件事:

  • 一个有效的IP地址

  • 网关,为您提供与“Internet”的连接

  • 将主机名(例如,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
Run Code Online (Sandbox Code Playgroud)

路由器的实际 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
Run Code Online (Sandbox Code Playgroud)

(但请注意,某些网络管理员喜欢使用防火墙阻止 ping 请求)。

域名系统

即使您已连接到网络,您仍然可能无法使用firefox/iceweasel,因为您的系统还不知道如何将名称 likeunix.stackexchange.com转换为 IP 地址。

您还必须指定一个名称服务器。这可以在文件中配置/etc/resolv.conf

例如,以下内容会将您的系统配置为使用 Google 的公共名称服务器进行 DNS 解析:

# echo "nameserver 8.8.8.8" > /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)

将使您的系统使用 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
Run Code Online (Sandbox Code Playgroud)

简单地使用DHCP

许多网络通过DHCP提供客户端网络配置,它会自动为您的计算机提供有关要使用的 IP 地址、网络掩码、网关和名称服务器的信息。

您可以重新触发这个过程中(只要你的网络中的DHCP服务器)通过运行:

# dhclient -v
Run Code Online (Sandbox Code Playgroud)