从 DHCP 转到静态 IP 时,确定计算机网关的正确方法是什么。操作系统是 Mythbunutu,安装了 Ububtu 桌面。
我之前一直在编辑 /etc/network/interfaces,但最终计算机将无法连接到互联网(尽管接入点后面的计算机仍然可以连接到互联网)。
现在我正在使用 gnome-network-admin,假设 GUI 比我更了解幕后发生的事情。
答案1
要获取网关的 IP 地址,请使用route
带有-n
标志的命令将主机名转换为 IP 地址(或者,禁用 IP 地址上的 DNS 查找)。
$ route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.10.10.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
0.0.0.0 10.10.10.1 0.0.0.0 UG 100 0 0 eth0
默认网关是目的地为 的网关0.0.0.0
,在本例中为10.10.10.1
。
不过我很好奇,你为什么要手动分配静态 IP?你的接入设备(路由器、wifi 等)是否不允许 DHCP 预留?现在大多数设备都允许。你只需要提供 MAC 地址,而且许多设备已经通过主机名知道 MAC。如果你的设备不允许,你可以从ip
“link/ether”地址获取 MAC:
$ ip addr
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
link/ether 00:50:56:10.10:21 brd ff:ff:ff:ff:ff:ff
inet 10.10.10.121/24 brd 10.10.10.255 scope global eth0
inet6 fe80::250:56ff:fe10.1021/64 scope link
valid_lft forever preferred_lft forever
或者ifconfig
,“HWaddr”地址:
$ ifconfig
eth0 Link encap:Ethernet HWaddr 00:50:56:10.10:21
inet addr:10.10.10.121 Bcast:10.10.10.255 Mask:255.255.255.0
inet6 addr: fe80::250:56ff:fe10.1021/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:107139 errors:0 dropped:0 overruns:0 frame:0
TX packets:12345 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:29375815 (29.3 MB) TX bytes:1447714 (1.4 MB)
Interrupt:18 Base address:0x2000
答案2
/etc/network/interfaces 是正确的选择,但是 GUI 工具也很好。
您是否只是静态配置了 DHCP 给您的相同 IP?如果这样做,DHCP 服务器最终会将相同的 IP 租给另一台计算机/设备,您将面临 IP 冲突。如果您通过任何这些静态方法为您的系统分配 IP,则需要为其分配一个其他设备不会使用的 IP。要么超出 DHCP 的范围,要么 DHCP 知道只属于您的 MAC 地址。如果您在 DHCP 服务器上为您的 MAC 地址配置静态分配,您不必担心任何这些...
答案3
jtimberman 和 freiheit 给出了很好的答案。让我补充一点:不清楚您是否是网络管理员。如果您不是,当网络应该使用 DHCP 时静态分配 IP 地址实际上是在玩魔法师的学徒。您可能会产生很多问题(例如,分配现有的 IP 地址)。