如何在没有 wicd 或 NetworkManager 的情况下设置网络?

Hem*_*ant 3 networking wicd networkmanager network-interface

我正在开发一个安装了 ubuntu(15.10) 的树莓派盒子。它的内存有限,所以我想尽可能多。

在内存使用报告 wicd/NetworkManager 和子进程使用情况中大约 60MB RAM。有没有办法在不使用那么多内存的情况下设置网络?

我的 rpi 使用以太网连接到 LAN 我不需要无线支持。

我尝试设置 /etc/network/interface 并禁用 wicd/NetworkManager 但无法启动 eth0。

我已经尝试了如何访问网络而没有网络管理器的步骤,但无法让它工作。

Ija*_*han 5

我在 ubuntu 上遇到网络管理器问题,所以我设置了静态网络。您可以按照这些步骤操作,它会起作用(我只配置了 wlan0,因为我使用无线,您只需要跳过其中的无线相关内容)

显示您的接口:

 $ ip a show
Run Code Online (Sandbox Code Playgroud)

请注意默认的以太网和 wifi 接口:

看起来我们的以太网端口是 eth0。我们的 WiFi 无线电是 wlan0。想让这个更简短吗?

$ ip a show | awk  '/^[0-9]: /{print $2}'
Run Code Online (Sandbox Code Playgroud)

此命令的输出将如下所示:

  lo:
  eth0:
  wlan0:
Run Code Online (Sandbox Code Playgroud)

您的网关 IP 地址通过以下方式找到:

route -n
Run Code Online (Sandbox Code Playgroud)

它提供对目标 0.0.0.0(一切)的访问。在下图中,它是 192.168.0.1,这是完全名义上的。

route-n 让我们在 /etc/networking/interfaces 文件中做一些简单的配置。这个文件的格式不难从手册页拼凑起来,但实际上,您应该先搜索示例。接口 插入您的以太网端口。

基本上,我们只是为我们的接口添加 DHCP 条目。当我在以太网端口上获得 DHCP 租用时,您会在上方看到一条到另一个网络的路由。接下来,添加以下内容:

auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
auto wlan0
iface wlan0 inet dhcp
Run Code Online (Sandbox Code Playgroud)

接下来,启用并启动网络服务:

sudo update-rc.d networking enable



sudo /etc/init.d/networking start
Run Code Online (Sandbox Code Playgroud)

让我们通过使用以下命令重置端口来确保它有效:

sudo ifdown eth0
sudo ip a flush eth0

    sudo ifup eth0
Run Code Online (Sandbox Code Playgroud)

这会关闭接口,刷新分配给它的地址,然后再启动它。通过 ping 网关 IP 进行测试:ping 192.168.0.1。如果您没有得到响应,则说明您的界面未连接或您打错了字。

接下来让我们“做一些WiFi”吧!我们想要制作一个 /etc/wpa_supplicant.conf 文件。考虑我的:

network={
ssid="CenturyLink7851"
scan_ssid=1
key_mgmt=WPA-PSK
psk="4f-------------ac"
}
Run Code Online (Sandbox Code Playgroud)

现在我们可以重置 WiFi 接口并使其工作:

sudo ifdown wlan0



sudo ip a flush wlan0

    sudo ifup wlan0



sudo wpa_supplicant -Dnl80211 -c /root/wpa_supplicant.conf -iwlan0 -B



sudo dhclient wlan0
Run Code Online (Sandbox Code Playgroud)

那应该这样做。使用 ping 查找,并从 wlan0 明确执行此操作,因此它首先获取其地址:

$ ip a show wlan0 | grep "inet"

Presumably dhclient updated your /etc/resolv.conf, so you can also do a:

ping -I 192.168.0.45 www.yahoo.com
Run Code Online (Sandbox Code Playgroud)

你现在在没有 NetworkManager 的情况下运行!