Мой Raspberry Pi 3 с ОС Raspbian Jessie подключен к внешнему оборудованию через прямое Ethernet-соединение.
Для соединения двух устройств, я полагаю, RasPi нужен статический IP-адрес на eth0. Я уже знаю адрес внешнего оборудования: 192.168.1.158.
Когда я редактирую файл /etc/dhcpcd.conf, включив в него следующее:
interface eth0
static ip_address = 192.168.1.100/24
static routers = 192.168.1.1
static domain_name_servers = 192.168.1.1
А /etc/network/interfaces имеет настройки по умолчанию:
iface eth0 inet manual
Я все еще получаю неверный IP-адрес eth0 169.xxx.xxx.xx после перезагрузки и запуска sudo ifconfig.
Есть предложения? Ранее я пытался редактировать файл /etc/network/interfaces так, чтобы iface eth0 inet manual был вместо iface eth0 inet static, а затем задать адрес оттуда. Запуск sudo ifconfig дал мне правильный IP-адрес, когда я попробовал это, но я все еще не смог правильно пинговать устройство.
решение1
Вы правы, что вам нужно отредактировать файл /etc/network/interfaces
. Для базовой конфигурации статического IP вам нужно что-то вроде этого:
# interfaces(5) file used by ifup(8) and ifdown(8)
# Please note that this file is written to be used with dhcpcd
# For static IP, consult /etc/dhcpcd.conf and 'man dhcpcd.conf'
# Include files from /etc/network/interfaces.d:
source-directory /etc/network/interfaces.d
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet static
address 10.0.0.100
netmask 255.255.255.0
gateway 10.0.0.1
dns-nameservers 8.8.8.8
dns-nameservers 8.8.4.4
После того, как вы изменили файл, вы можете затем ifdown eth0
и ifup eth0
который должен применить статический IP-адрес. Проверьте, проверив ifconfig eth0
.
Если вы получили правильный IP-адрес, но по-прежнему не можете выполнить команду ping на устройство, вам необходимо убедиться, что сервер, который вы пытаетесь выполнить команду ping, принимает запросы ICMP Echo.