首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >分配永久的静态IP地址

分配永久的静态IP地址
EN

Ask Ubuntu用户
提问于 2017-08-04 08:19:14
回答 1查看 3.4K关注 0票数 0

在运行Ubuntu14.04.5的系统上,我很难为运行Ubuntu14.04.5的系统上的默认eth0接口分配一个永久的静态IP地址,系统最终没有IP地址。

作为以下的前兆,目标系统是一个嵌入式系统,在系统运行期间我们不能允许任何网络接口的更改。

我的安排如下:

network-manager已被禁用。

/etc/network/interfaces配置如下:

代码语言:javascript
复制
auto eth0
iface eth0 inet static
    address 192.168.200.1
    netmask 255.255.255.0

在引导过程中出现了一个问题,NTP服务器守护进程可以导致系统挂起5分钟。进行一些谷歌搜索表明,一个名为ntpdate的包有点流氓--所以这已经被删除了(我们有自己的方法来设置系统的日期/时间)。

avahi-autoip服务已被禁用,以防止分配自动私有IP。

不过,从根本上说,后来发生了一些事情,即移除绑定到eth0的静态IP地址--不管它是一个挥之不去的DHCP服务(当然,iface eth0 inet static应该阻止它),还是其他我不知道的运行。

我注意到的一件事是,在某个时候,在内部网络(IP 192.168.0.5 )上对DNS服务器执行PING操作,由于子网不同,无法访问此DNS服务器,这会引发某种类型的包更新检查而失败--在失败之后,会出现一个持续的RTNETLINK answers: Network is unavailable消息流,而没有可行的方法来消除它们。

供参考,以下是一些产出:

ifconfig

代码语言:javascript
复制
eth0      Link encap:Ethernet  HWaddr 00:14:2d:2c:6f:5b
          inet addr:192.168.200.1  Bcast:192.168.200.255  Mask:255.255.255.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:92 errors:0 dropped:0 overruns:0 frame:0
          TX packets:29 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:13544 (13.5 KB)  TX bytes:7311 (7.3 KB)

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:112131 errors:0 dropped:0 overruns:0 frame:0
          TX packets:112131 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:11558635 (11.5 MB)  TX bytes:11558635 (11.5 MB)

ip地址

代码语言:javascript
复制
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
2: dummy0: <BROADCAST,NOARP> mtu 1500 qdisc noop state DOWN group default
    link/ether 92:23:f9:47:e0:5a brd ff:ff:ff:ff:ff:ff
3: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 00:14:2d:2c:6f:5b brd ff:ff:ff:ff:ff:ff
    inet 192.168.200.1/24 brd 192.168.200.255 scope global eth0
       valid_lft forever preferred_lft forever
4: ip6tnl0: <NOARP> mtu 1452 qdisc noop state DOWN group default
    link/tunnel6 :: brd ::
5: rmnetctl: <NOARP> mtu 1500 qdisc noop state DOWN group default
    link/ipip 0.0.0.0 brd 0.0.0.0
6: wlan0: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN group default qlen 1000
    link/ether 00:16:6f:db:90:a2 brd ff:ff:ff:ff:ff:ff

路由-n

代码语言:javascript
复制
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
192.168.200.0   0.0.0.0         255.255.255.0   U     0      0        0 eth0

dhclient

代码语言:javascript
复制
root      1301  0.0  0.1   3980  2728 ?        S    00:00   0:00 dhclient eth0
root      3198  0.0  0.1   3980  2728 ?        S    00:02   0:00 dhclient eth0

平差

代码语言:javascript
复制
PING 192.168.0.5 (192.168.0.5) 56(84) bytes of data.

--- 192.168.0.5 ping statistics ---
1 packets transmitted, 0 received, 100% packet loss, time 0ms

ii  librsync1:armhf                                       0.9.7-10                                            armhf        rsync remote-delta algorithm library
ii  rsync                                                 3.1.0-2ubuntu0.2                                    armhf        fast, versatile, remote (and local) file-copying tool
Reading package lists... Done
Building dependency tree
Reading state information... Done
rsync is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
Reading package lists... Done
Building dependency tree
Reading state information... Done
netcat-openbsd is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 8 not upgraded.
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable
RTNETLINK answers: Network is unreachable

PING后的ifconfig (注意,没有IP地址)

代码语言:javascript
复制
RTNETLINK answers: Network is unreachable
g
eth0      Link encap:Ethernet  HWaddr 00:14:2d:2c:6f:5b
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:113 errors:0 dropped:0 overruns:0 frame:0
          TX packets:86 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:16588 (16.5 KB)  TX bytes:23129 (23.1 KB)

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:1425523 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1425523 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:214682465 (214.6 MB)  TX bytes:214682465 (214.6 MB)
EN

回答 1

Ask Ubuntu用户

发布于 2017-08-05 06:58:41

好的,看起来正在发生的是,最初,当系统被配置时,它被连接到一个具有DHCP服务器可见的网络上。从DHCP服务器获得的租约的IP地址存储在/var/lib/dhcp/dhclient.leases文件中。

通过eth0文件分配给/etc/network/interfaces的静态IP地址将在dhclient (以及类似于avahi-autoip的相关服务)随后在DHCP客户端超时大约5分钟后被撤回时被撤回。

但是,系统试图从上一次租约中分配地址,因为它不能与DHCP服务器协商,因此该地址也被撤回,适配器eth0以自动私有IP地址结束。此APIPA地址由avahi-autoip服务分配--如果停止,该服务将阻止分配私有地址。

对此有几个临时解决方案:

  1. 删除/var/lib/dhcp/dhclient.leases文件
  2. 使用dhclient完全停止pkill服务
  3. 完全删除dhclient

在我们的例子中,备选方案3是最好的方法。

此外,导致PING执行并最终与RTNETLINK answers: Network is unavailable一起失败的任何事情仍将继续发生。虽然它阻塞了调试终端的输出,但这并不是什么大问题。

票数 0
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/942926

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档