Mil*_*lan 6 networking routing ubuntu
我正在尝试将我的无线网络配置为在访问以 10.0.0 开头的 IP 地址时使用网关 10.0.1.252。
我对如何使用接口文件进行了一些解释,但没有成功。
这是我最初的 /etc/network/interfaces 文件的内容:
auto lo
iface lo inet loopback
Run Code Online (Sandbox Code Playgroud)
经过几个小时的搜索和阅读,我使它看起来像这样:
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth1
iface eth1 inet static
address 10.0.1.171
netmask 255.255.255.0
broadcast 10.0.1.255
gateway 10.0.1.254
# static route
up route add -net 10.0.0.0/24 gw 10.0.1.252 dev eth1
Run Code Online (Sandbox Code Playgroud)
提到的配置在我重新启动网络后工作,直到我重新启动 Ubuntu。重新启动 Ubuntu 后,我丢失了网络管理器并且无法连接到 Internet 或预期地址 10.0.0.x。
我做错了什么,还是有更简单的方法可以在较新版本的 Ubuntu 中设置永久路由?
只是提一下我正在配置无线连接,因为我不使用有线连接。
更新 1: (~$ ifconfig)
eth0 Link encap:Ethernet HWaddr 00:24:81:64:9a:5c
UP BROADCAST MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17
eth1 Link encap:Ethernet HWaddr 00:21:00:d8:25:45
inet addr:10.0.1.171 Bcast:10.0.1.255 Mask:255.255.255.0
inet6 addr: fe80::221:ff:fed8:2545/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:0 errors:0 dropped:0 overruns:0 frame:0
TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
Interrupt:17
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:284 errors:0 dropped:0 overruns:0 frame:0
TX packets:284 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0
RX bytes:21280 (21.2 KB) TX bytes:21280 (21.2 KB)
Run Code Online (Sandbox Code Playgroud)
更新 2: (~$ route -n)
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.0.0 10.0.1.252 255.255.255.0 UG 0 0 0 eth1
10.0.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth1
0.0.0.0 10.0.1.254 0.0.0.0 UG 100 0 0 eth1
Run Code Online (Sandbox Code Playgroud)
更新 3: 我意识到这段代码有问题:
iface eth1 inet static
address 10.0.1.171
netmask 255.255.255.0
broadcast 10.0.1.255
gateway 10.0.1.254
Run Code Online (Sandbox Code Playgroud)
如果我将其注释掉,我将获得网络管理员和 Internet 访问权限,但不是我想要的路由。
如果您已通过 ifupdown 配置网络(即在 中/etc/network/interfaces
),并且它在您手动启动网络时起作用,但在全新启动后不起作用,则一种可能是您的设置正确启动了网络,然后某些其他系统组件重新配置了网络网络。明显的嫌疑人是网络经理。确保在/etc/NetworkManager/nm-system-settings.conf
,下[ifupdown]
,你有managed=false
。(这是默认设置,至少在 Ubuntu 10.04 下是这样,但也许在 10.10 中发生了更改,或者您在之前使用网络管理器进行的实验中更改了它。)
如果您想继续使用网络管理器,您可以告诉它添加额外的路由。从 Ubuntu 10.04 开始(其他发行版可能不会以相同的方式设置网络管理器),网络管理器执行/etc/network/if-*.d/
. 这些脚本的作用类似于(网络管理器不执行)中的up
、down
、pre-up
和post-down
指令。/etc/network/interfaces
注释掉所有提及eth1 from
/etc/network/interfaces` 的内容,以便网络管理器管理此接口。
这些脚本记录在Interfaces(5) 手册页中。它们在包含有关正在启动或停止的连接的信息(特别$IFACE
是接口名称)的环境中执行。因此,将以下脚本放入/etc/network/if-up.d/zzzz-milan-wireless-route
:
#!/bin/sh
if [ "$IFACE" = "eth1" ]; then
route add -net 10.0.0.0/24 gw 10.0.1.252 dev eth1
fi
Run Code Online (Sandbox Code Playgroud)
使其可执行:chmod 755 /etc/network/if-up.d/zzzz-milan-wireless-route
. 下次网络管理器启动网络时,您应该拥有默认路由。
归档时间: |
|
查看次数: |
34991 次 |
最近记录: |