分配了多个IP地址


12

我的Raspberry Pi B +正在运行Raspbian(Linux版本3.18.11+)更新等。

它通过以太网连接到网络。我想要一个静态IP,并在/ etc / network / interfaces中为其分配了一个IP(如下所示)。但是,每次引导它都会通过DHCP请求一个地址,并分配一个地址!静态和动态地址都可以访问网络上的计算机。

在哪里可以阻止DHCP地址的请求和分配?

/ etc / network / interfaces

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

你能告诉我们ifconfig的输出吗?
dhruvvyas90 2015年

上面添加了ifconfig
t0vana 2015年

我的错。我的意思是“ ifconfig -a”。您可以在上方修改日志吗?
dhruvvyas90 2015年

带-a标志的输出与上面相同。
t0vana 2015年

wpa_supplicant.conf的内容是什么?
泰森

Answers:


8

我有同样的问题。

我假设您正在使用2015年5月5日构建的Rasbian。在此构建中,将静态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

这些链接是我找到答案的地方:


谢谢成功!我确实要记得将eth0 manual设置为dhcpin 的新默认值,而不是in/etc/network/interfaces
t0vana

1

在线查看Debian Network Configuration文档其他文档,我的理解是allow-hotplug仅对于可移动网络适配器才需要,或者如果您在引导时可能不存在的适配器上使用dhcp以避免长时间的dhcp超时。allow-hotplug eth0如果您使用的是静态配置,请尝试删除该行。

我尝试用几种变体来复制您的问题,但只获得了一个IP地址,如所示ip addr。您是否有机会在各个/etc/network/if-*目录下找到任何内容?


if-down.d:openvpn resolvconf新贵wpasupplicant if-post-down.d:avahi-daemon无线工具wpasupplicant if-pre-up.d:无线工具wpasupplicant if-up.d:000resolvconf avahi-daemon mountnfs openssh-服务器openvpn新贵wpasupplicant
t0vana 2015年

注释掉该allow-hotplug eth0行没有任何效果
t0vana

1

要获取静态IP(不包含所有内容)的另一件事是,首先通过键入以下内容找到您的MAC地址:

ifconfig eth0

并寻找HWaddr(之后是您的Mac位址)。之后,转到路由器管理页面,然后转到DHPC或IP预留(在我的路由器上,它位于LAN设置中)。然后添加MAC地址并选择和IP。您不必添加MAC地址,因为大多数路由器可以选择仅选择IP(名称将是您在raspi-config主机名中设置的名称)。

意志:3

问问题


我为其他用户放置了命令ifconfig eth0(我知道你知道)
熊猫

这是一个很好的解决方案:将MAC地址添加到路由器的DHCP预留中。但是,这不适用于此设置...
t0vana 2015年

是的,抱歉,我只是把它放在万一您没有想到的时候;)
熊猫

0

我有同样的问题。我已经配置好了x.x.x.250/etc/network/interfaces并且也越来越x.x.x.20好,尽管那在任何地方都不存在。

我正在使用以太网,并且由于不需要dhcp,因此dhcpcd按以下方式禁用了该服务:

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

(请注意,如果您像以前一样通过SSH执行此操作,那么最后一条命令可能会挂起SSH。因此~.Enter,要使功能正常的本地命令提示符返回,然后再次ssh即可。)

这似乎对我有用。


如果您不打算将静态IP放入,则dhcp软件包也可能会被清除/etc/dhcpcd.conf
FlippingBinary

我有同样的问题。但不想删除dhcpcd服务。所以我关闭了raspi,拔下了电源线,然后重新启动了它。先前动态设置的ips最终消失了。
lsblsb

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.