У меня Raspberry Pi 3 работает под управлением версии Raspbian 7 (wheezy). Эти устройства имеют порт Ethernet RJ45 (eth0) и беспроводной модуль WiFi (wlan0). Я хотел бы настроить их как на этом изображении:
В принципе:
- Я подключаю Rpi3 через проводной eth0 к коммутатору и подключаюсь к нему через Интернет с другого ПК с Ubuntu, у которого на
eth0
Интернет "Общий для других компьютеров", что делает ПК с Ubuntu сервером DHCP с адресом 10.42.0.1 обращается к клиентам в 10.42.0.Диапазон X Вот почему я хотел бы оставить портeth0
на Rpi3 в качестве клиента DHCP. - Я хочу сделать
wlan0
на Rpi3 точкой доступа - это означает, что к ней могут подключаться другие машины; Я предполагаю, что это означает, что Rpi3 должен быть DHCP-сервером на этом интерфейсе (иначе он не сможет выделить локальный IP-адрес клиентскому компьютеру, который подключился к нему через WiFi).
Итак, я нашел эту ссылку: https://frillip.com/using-your-raspberry-pi-3-as-a-wifi-access-point-with-hostapd/ - и я пытался перейти по ней; сначала у моего Raspbian не было dhcpcd
, поэтому я установил:
sudo apt-get install dhcpcd5
(именно dhcpcd5
имеет /etc/dhcpcd.conf
- в противном случае пакет dhcpcd
самом деле является dhcpcd3
и вместо него имеет /etc/dhcpcd.sh
)
В середине урока я попытался сделать это в соответствии с инструкциями:
$ sudo service dhcpcd restart
[FAIL] Not running dhcpcd because /etc/network/interfaces ... failed!
[FAIL] defines some interfaces that will use a DHCP client ... failed!
Мой текущий /etc/network/interfaces
такой:
auto lo
iface lo inet loopback
iface eth0 inet dhcp
allow-hotplug wlan0
iface wlan0 inet static
address 172.24.1.1
netmask 255.255.255.0
network 172.24.1.0
broadcast 172.24.1.255
# wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf
Другие ресурсы, такие как https://raspberrypi.stackexchange.com/questions/34914/wifi-not-working-on-startup, упоминают, что, очевидно, проблема в том, что /etc/network/interfaces
определяет eth0
как клиента DHCP:
Если вы видите это, то для исправления откройте терминал:
$ sudo nano /etc/network/interfaces
и замените dhcp на ручной. Две строки из ваших интерфейсов:
iface eth0 inet manual iface default inet manual
Однако я не хочу этого делать - потому что, если eth0
на Rpi3 не является DHCP-клиентом, я не могу заставить работать Internet Sharing с ПК с Ubuntu!
Итак, я понял, что невозможно запустить DHCP-сервер на машине, у которой один из сетевых интерфейсов определен как DHCP-клиент ?! Это правда? Или сформулировать это как вопрос:
- Можно ли использовать один сетевой интерфейс (
eth0
) в качестве DHCP-клиента, а другой (wlan0
) - в качестве DHCP-сервера на одном компьютере - и если да, то как?