设置WiFi和以太网


44

我正在为Raspberry Pi的配置苦苦挣扎。我要实现以下目标:

eth0:将与静态IP一起使用,并且只能连接到局域网(这将是我的NFS服务器)wlan0:应该连接到我的无线网络以进行Internet访问

由于某种原因,我无法同时激活两个连接(是的,我的电源很好)。以太网将无缘无故地禁用无线。如果我终于把两者都搞定了,那么我将无法ping google.com。我的问题我应该如何正确执行此操作?我的接口文件中包含以下内容:

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0
gateway 0.0.0.0

#auto wlan0
allow-hotplug wlan0
iface wlan0 inet manual
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

iface home inet static
address 192.168.0.157
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface default inet dhcp

亲切的问候,非常感谢!


确保您正在运行最新的固件和软件。我在旧固件上苦苦挣扎,这让我发疯了。从头升级了所有内容,并集成了请求者,并且非常容易连接
Piotr Kula

感谢您提供有关此主题的详细信息,我设法实现了此处编写的内容,并使我的pi与两个适配器一起使用。

1
我认为解决方案应作为答案发布……
jmc 2013年

1
“更新问题以包括答案”的格式不佳,会损害站点的可用性。您应该发布自己问题的答案。这样一来,对于其他人来说就很容易找到它-并且可能会吸引来自帮助它的人的支持-Lyndon
White

Answers:


25

这适用于2015-05-05之前的Raspbian Wheezy,以供以后使用(和Jessie / Stretch)请参阅如何设置网络/ WiFi /静态IP

正如社区所建议的那样,我的回答是从问题中提取的。

我现在可以正常使用,因此可以与社区共享所有配置文件。首先让我们看一下wpa_supplicant.conf文件:

pi@raspberrypi ~ $ sudo cat /etc/wpa_supplicant/wpa_supplicant.conf 
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1

network={
    ssid="****"
    scan_ssid=1
    proto=RSN
    key_mgmt=WPA-PSK
    pairwise=CCMP TKIP
    group=CCMP TKIP
    psk="****"
    id_str="home"
    priority=5
}

接下来我的新更新接口文件

pi@raspberrypi ~ $ sudo cat /etc/network/interfaces
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.101
netmask 255.255.255.0

auto wlan0
allow-hotplug wlan0
iface wlan0 inet static
wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
address 192.168.0.157
netmask 255.255.255.0
broadcast 192.168.0.255
gateway 192.168.0.1

iface default inet dhcp

现在棘手的部分是,您必须禁用eth0设备的热插拔(否则它将禁用wlan0)。您可以通过编辑以下文件来做到这一点:

pi@raspberrypi ~ $ sudo cat /etc/default/ifplugd 
INTERFACES="eth0"
HOTPLUG_INTERFACES="eth0"
ARGS="-q -f -u0 -d10 -w -I"
SUSPEND_ACTION="stop"

我的启动脚本中也包含以下内容,这将确保我的wifi确实已启动(有时无缘无故无法启动)。您还必须杀死eth0设备上的ifplugd守护程序:

pi@raspberrypi ~ $ sudo cat /etc/rc.local
#!/bin/sh -e

# Print the IP address
_IP=$(hostname -I) || true
if [ "$_IP" ]; then
  printf "My IP address is %s\n" "$_IP"
fi

# Disable the ifplugd eth0
sudo ifplugd eth0 --kill
sudo ifup wlan0

exit 0

那应该工作!


3
您不需要禁用整个ifplugd。相反,只需禁用(删除)有问题的symlink /etc/ifplugd/action.d/action_wpa,当连接以太网时,它会使wlan0无法正常工作。
minmaxavg

禁用eth0设备的热插拔,我们不应该删除这些auto etho行吗?此外,我还有:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass

8

如果设备没有Internet访问权限或本地子网以外的其他访问权限,则应删除网关。在两个接口上列出网关很可能是罪魁祸首。

如果以太网用于本地子网,则仅删除该网关。


Tevo D是正确的。当您的eth0连接时,您将有一条默认路由(网络0.0.0.0)出您的eth0接口,这将导致网外流量被路由出您的eth0接口并进入“ bit-bucket”
HeatfanJohn

好的,我删除了eth0上的网关。现在,我看到我的无线设备已连接(正在运行iwconfig),但是当我运行ifconfig时,无线设备未使用我分配的静态IP地址或网关(保持空白)。关于那个有什么线索吗?
DanFritz

找到了解决方案,感谢您的帮助。我已经用我所有的配置文件(针对其他人)更新了我的问题
DanFritz

@TevoD我用了你的意见,评论网关,它的工作原理,但1分钟,然后断开无线网络连接(但以太网的工作),你能不能帮我。
H.Ghassami
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.