Назначается несколько IP-адресов

12

Мой Raspberry Pi B + работает под управлением Raspbian (версия Linux 3.18.11+) и т. Д.

Это связано с сетью через Ethernet. Мне нужен статический IP, и я назначил его в / etc / network / interfaces (показано ниже). Однако при каждой загрузке он запрашивает адрес через DHCP и ему присваивается один! Как статические, так и динамические адреса работают для доступа к машине в сети.

Где я могу запретить запрашивать и назначать адрес DHCP?

/ и т.д. / сеть / интерфейсы

auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 192.168.1.7
netmask 255.255.255.0
gateway 192.168.1.1

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

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

ip addr show eth0

2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether b8:27:eb:44:bb:23 brd ff:ff:ff:ff:ff:ff
inet 192.168.1.7/24 brd 192.168.1.255 scope global eth0
   valid_lft forever preferred_lft forever
inet 192.168.1.55/24 brd 192.168.1.255 scope global secondary eth0
   valid_lft forever preferred_lft forever

Ifconfig

eth0      Link encap:Ethernet  HWaddr b8:27:eb:44:bb:23  
          inet addr:192.168.1.7  Bcast:192.168.1.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:11484 errors:0 dropped:4 overruns:0 frame:0
          TX packets:10212 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:4178807 (3.9 MiB)  TX bytes:4019638 (3.8 MiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

wpa_supplicant.conf

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1
t0vana
источник
Можете ли вы сказать нам вывод ifconfig?
dhruvvyas90
добавлен ifconfig выше
t0vana
Виноват. Я имел в виду "ifconfig -a". Можете ли вы изменить свой журнал выше?
dhruvvyas90
Вывод с флагом -a идентичен приведенному выше.
t0vana
Что такое содержимое wpa_supplicant.conf?
Тайсон

Ответы:

8

У меня была такая же проблема.

Я предполагаю, что вы используете сборку Rasbian 2015-05-05. В этой сборке статический IP установлен в /etc/dhcpcd.conf.

Вам следует:

  1. Вернуть ваши изменения /etc/network/interfacesобратно по умолчанию
  2. Поместите информацию ip в свой, /etc/dhcpcd.confчтобы настроить статический IP, заменив то, для чего ваш интерфейсwlan0
  3. перезагружать

-

# what I did
# this goes in /etc/dchpcd.conf for static ip assignment 
interface wlan0
 static ip_address=10.3.2.8/24
 static routers=10.3.2.1
 static domain_name_servers=8.8.8.8

до

$ ip addr
.... <snip>
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether e8:4e:06:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.3.2.8/24 brd 10.3.2.255 scope global wlan0
       valid_lft forever preferred_lft forever
    inet 10.3.2.101/24 brd 10.3.2.255 scope global secondary wlan0
       valid_lft forever preferred_lft forever

после

$ ip addr
.... <snip>
3: wlan0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP qlen 1000
    link/ether e8:4e:06:xx:xx:xx brd ff:ff:ff:ff:ff:ff
    inet 10.3.2.8/24 brd 10.3.2.255 scope global wlan0
       valid_lft forever preferred_lft forever

Эти ссылки, где я нашел свой ответ:

Bhav
источник
Спасибо, успехов! Я должен был не забыть установить eth0 в новое значение по умолчанию manualвместо старого по умолчанию dhcpв/etc/network/interfaces
t0vana
1

Глядя на документацию по сетевой конфигурации Debian и другую документацию в Интернете , я понимаю, что allow-hotplugэто необходимо только для съемных сетевых адаптеров или если вы используете dhcp на адаптере, который может отсутствовать при загрузке, чтобы избежать длительных тайм-аутов dhcp. Попробуйте удалить allow-hotplug eth0строку, если вы используете статическую конфигурацию.

Я попытался воспроизвести вашу проблему с несколькими вариантами, но получил только один IP-адрес, как показано с ip addr. У вас случайно есть что-нибудь под различными /etc/network/if-*каталогами?

bobstro
источник
if-down.d: openvpn resolvconf upstart wpasupplicant if-post-down.d: avahi-daemon wireless-tools wpasupplicant if-pre-up.d: wireless-tools wpasupplicant if-up.d: 000resolvconf avahi-daemon mountnfs openssh- сервер openvpn upstart wpasupplicant
t0vana
комментирование allow-hotplug eth0строки не имеет никакого эффекта
t0vana
1

Еще одна вещь, которую вы можете сделать, чтобы получить статический IP-адрес (без всего этого) - сначала найти ваш MAC-адрес, набрав:

ifconfig eth0

и ищет HWaddr (и после этого ваш MAC-адрес). После этого перейдите на страницу администрирования вашего маршрутизатора и перейдите к DHPC или IP-резервированию (на моем маршрутизаторе это было в настройке локальной сети). Затем добавьте MAC-адрес и выберите и IP. Вам не нужно добавлять MAC-адрес, так как большинство маршрутизаторов имеют возможность просто выбрать IP-адрес (имя будет именем, которое вы указали в имени хоста raspi-config).

Будет: 3

задавать вопросы

Панда
источник
Я ставлю команду ifconfig eth0 для других пользователей (я знаю, что вы знаете)
Panda
Это отличное (обходное) решение этой проблемы: добавление MAC-адреса к резервированию DHCP маршрутизатора. Тем не менее, это не будет работать для этой установки ...
t0vana
Ой, извини, я просто изложил это на тот случай, если ты не подумал об этом;)
Panda
0

У меня такая же проблема. Я настроен x.x.x.250в /etc/network/interfacesи получал , x.x.x.20а также, несмотря на то, что не существует нигде.

Я использую Ethernet, и потому что мне не нужен dhcp, я отключил dhcpcdслужбу следующим образом:

sudo systemctl stop dhcpcd
sudo systemctl disable dhcpcd
sudo systemctl daemon-reload
sudo systemctl restart networking

(Обратите внимание, что если вы делаете это по SSH, как я, то последняя команда, вероятно, повесит ваш SSH. Поэтому, ~.Enterчтобы получить работающую локальную командную строку обратно, затем снова введите ssh.)

Кажется, это сработало для меня.

artfulrobot
источник
Возможно, пакет dhcp тоже можно очистить, если вы не собираетесь /etc/dhcpcd.conf
FlippingBinary
У меня такая же проблема. но не хотел удалять службу dhcpcd. поэтому я выключил распи, вытащил шнур питания и снова запустил. ранее динамически назначенные ips наконец исчезли.
lsblsb