Thiết lập WiFi và Ethernet


44

Tôi đang vật lộn với cấu hình Raspberry Pi của mình. Tôi muốn đạt được những điều sau đây:

eth0: sẽ được sử dụng với một ip tĩnh và chỉ có thể kết nối với mạng cục bộ (đây sẽ là máy chủ NFS của tôi) wlan0: Nên kết nối với mạng không dây của tôi để truy cập internet

Vì một số lý do, tôi không thể kích hoạt cả hai kết nối cùng một lúc (vâng tôi có nguồn cung cấp năng lượng tốt). Ethernet sẽ vô hiệu hóa không dây mà không có lý do nào cả. Nếu cuối cùng tôi cũng nhận được cả hai thì tôi không thể ping google.com. Câu hỏi của tôi làm thế nào tôi nên làm điều này một cách chính xác? Tôi có các mục sau trong tệp giao diện của mình:

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

Trân trọng, và cảm ơn bạn rất nhiều!


đảm bảo bạn đang chạy chương trình cơ sở và phần mềm mới nhất. Tôi đã vật lộn phân bổ trên phần sụn cũ, nó khiến tôi phát điên. nâng cấp mọi thứ từ đầu và nó đã được tích hợp thay thế và rất dễ dàng để bắt đầu
Piotr Kula

cảm ơn bạn đã chi tiết chuyên sâu về chủ đề này, tôi đã quản lý để thực hiện những gì được viết ở đây và giúp pi của tôi làm việc với cả hai bộ điều hợp.

1
Tôi nghĩ rằng giải pháp nên được đăng lên như một câu trả lời ...
jmc

1
Đây là hình thức kém và làm hỏng khả năng sử dụng của trang web, để "cập nhật câu hỏi để bao gồm câu trả lời". Bạn nên đăng câu trả lời cho câu hỏi của riêng bạn. Sau đó, nó sẽ dễ dàng tìm thấy cho những người khác - và có thể thu hút sự ủng hộ từ những người mà nó giúp
Lyndon White

Câu trả lời:


25

Điều này áp dụng cho Raspbian Wheezy trước 2015-05-05 cho lần sau (và Jessie / Stretch) Xem Cách tôi thiết lập mạng / WiFi / IP tĩnh

Theo đề nghị của cộng đồng, câu trả lời của tôi trích ra từ câu hỏi.

Tôi đã làm cho nó hoạt động ngay bây giờ vì vậy tôi sẽ chia sẻ tất cả các tệp cấu hình của mình với cộng đồng. Trước hết, hãy xem tệp 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
}

Tiếp theo tập tin giao diện cập nhật mới của tôi

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

Và bây giờ đến phần khó khăn, bạn phải vô hiệu hóa việc cắm nóng thiết bị eth0 (nếu không nó sẽ vô hiệu hóa wlan0 của bạn). Bạn làm điều này bằng cách chỉnh sửa tệp sau:

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

Tôi cũng có đoạn mã sau trong kịch bản khởi động của mình, điều này sẽ đảm bảo wifi của tôi được khởi động (đôi khi không có lý do nào để nó không khởi động). Bạn cũng phải giết daemon ifplugd trên thiết bị eth0:

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

Và điều đó nên làm việc!


3
Bạn không cần phải vô hiệu hóa toàn bộ ifplugd. Thay vào đó, chỉ cần vô hiệu hóa (xóa) liên kết tượng trưng vi phạm /etc/ifplugd/action.d/action_wpa, giúp wlan0 không hoạt động khi Ethernet được kết nối.
minmaxavg

để tắt chức năng cắm nóng của thiết bị eth0, chúng ta có nên xóa các auto ethodòng không? Hơn nữa tôi vẫn còn:~ $ sudo service isc-dhcp-server start Job for isc-dhcp-server.
IggyPass

8

Nếu một thiết bị không có quyền truy cập internet hoặc quyền truy cập khác bên ngoài mạng con cục bộ, thì bạn nên loại bỏ cổng. Liệt kê một cổng trên cả hai giao diện có khả năng là thủ phạm.

Nếu ethernet dành cho mạng con cục bộ chỉ loại bỏ cổng đó.


Tevo D là chính xác. Khi eth0 của bạn được kết nối, bạn sẽ có một tuyến mặc định (mạng 0.0.0.0) ngoài giao diện eth0 của bạn, điều này sẽ khiến lưu lượng truy cập ngoài mạng được chuyển ra khỏi giao diện eth0 của bạn và vào "bit-xô" .
HeatfanJohn

Oke tôi đã gỡ bỏ cổng trên eth0. Bây giờ tôi thấy rằng mạng không dây của tôi được kết nối (chạy iwconfig) nhưng khi tôi chạy ifconfig, mạng không dây không sử dụng địa chỉ IP tĩnh hoặc cổng tôi đã gán (nó vẫn trống). Có manh mối nào về cái đó không?
DanFritz

Tìm thấy giải pháp, nhờ sự giúp đỡ của bạn. Tôi đã cập nhật câu hỏi của mình với tất cả các tệp cấu hình của mình (cho người khác)
DanFritz

@TevoD Tôi đã sử dụng lời khuyên của bạn để nhận xét cổng, Nó hoạt động nhưng trong 1 phút, sau đó WiFi bị ngắt kết nối (nhưng Ethernet vẫn hoạt động), bạn có thể giúp tôi không
H.Ghassami
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.