我正在尝试使用终端命令更改我的 IP 地址。
当我使用时,ifconfig 10.10.10.134 netmask 255.255.255.0
我可以更改 IP 地址,并且仍然可以连接到我的网络(我可以 ping 其他设备),但我无法再连接到互联网。我还应该做其他事情,或者甚至应该使用不同的命令吗?
答案1
正如 @Henrik 所说,您可以使用,但如果您的系统上可用,ifconfig
您应该使用包ip
中较新的命令(它将具有相同的效果)。iproute2
ip addr add 10.10.10.134/24 dev <interface>
while<interface>
是要添加IP的接口
为了能够访问互联网,您的路由必须正确设置,通常这些路由由dhcp 客户端。如果您有静态IP,则必须设置默认网关手动。
您可以通过以下方式检查您的路由表:
ip route show
这将打印出路由表,并且应该看起来像这样:
default via 10.0.2.2 dev eth0
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
10.1.1.0/24 dev eth1 proto kernel scope link src 10.1.1.2
在大多数情况下,可以使用以下条目访问互联网default-gateway
:
default via 10.0.2.2 dev eth0
whiledefault
代表0.0.0.0/0
匹配任意IP地址。10.0.2.2
如果目标 IP 地址与任何更具体的路由都不匹配(如上例所示),这将导致所有流量都路由到具有 IP 的路由器。
添加default-gateway
输入:
ip route add default via <router-IP> dev <interface>
尽管
<router-IP>
是网络中下一个网关的 IP 地址<interface>
是您连接到网络的接口
现在要使用域名系统系统您可能还需要nameservers
手动添加。
在 Linux 中,这些是在 中指定的/etc/resolv.conf
,手动编辑文件并添加您的名称服务器,如下面使用 google 名称服务器的示例所示:
nameserver 8.8.8.8
nameserver 8.8.4.4
或者只需输入:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf