我正在尝试使用终端命令更改我的 IP 地址。
当我使用时,ifconfig 10.10.10.134 netmask 255.255.255.0我可以更改 IP 地址并且仍然可以连接到我的网络(我可以 ping 其他设备),但是我无法再连接到 Internet。还有什么我应该做的,或者我应该使用不同的命令吗?
正如@Henrik 所述,您可以使用ifconfig,但如果您的系统上可用,则应使用包中的较新ip命令iproute2(它具有相同的效果)。
ip addr add 10.10.10.134/24 dev <interface>
Run Code Online (Sandbox Code Playgroud)
while<interface>是需要添加IP的接口
为了能够访问互联网,您的路由必须正确设置,通常这些路由由dhcp-client处理。如果您有静态 IP,则必须手动设置默认网关。
您可以使用以下方法检查路由表:
ip route show
Run Code Online (Sandbox Code Playgroud)
这将打印出路由表,应该是这样的:
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
Run Code Online (Sandbox Code Playgroud)
在大多数情况下,使用default-gateway条目访问互联网:
default via 10.0.2.2 dev eth0
Run Code Online (Sandbox Code Playgroud)
whiledefault代表0.0.0.0/0匹配任何 IP 地址。10.0.2.2如果目标 IP 地址与任何更具体的路由不匹配,如上例所示,这将导致所有流量路由到具有 IP 的路由器。
要添加default-gateway输入:
ip route add default via <router-IP> dev <interface>
Run Code Online (Sandbox Code Playgroud)
尽管
<router-IP> 是网络中下一个网关的 IP 地址<interface> 是您连接到网络的接口现在要使用DNS系统,您可能还需要nameservers手动添加。
在 linux 中指定的那些/etc/resolv.conf,手动编辑文件并添加您的名称服务器,如下面的谷歌名称服务器示例所示:
nameserver 8.8.8.8
nameserver 8.8.4.4
Run Code Online (Sandbox Code Playgroud)
或者简单地输入:
echo "nameserver 8.8.8.8" >> /etc/resolv.conf
echo "nameserver 8.8.4.4" >> /etc/resolv.conf
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2153 次 |
| 最近记录: |