我们可以在 Linux 中为单个接口使用多个 IP 地址(eg. eth0:0, eth0:1)。但是我们可以同时使用DHCP和静态IP吗?eth0:1应该有一个静态 IP 地址并且eth0:0应该使用 DHCP 进行配置。
我们如何才能做到这两点?
我是 Ubuntu Core 的新手。首次登录时,我选择了选项: Will use DHCP for IPv4
现在我想将我的机器更改为使用静态 IP,以便更轻松地远程登录。
我sudo console-conf在机器上运行(通过 ssh,如果相关)。这让我可以选择 select Use a static IPv4 configuration,我这样做了。
这给了我字段subnet、address网关,名称服务器, and搜索域。我应该为这些字段设置什么?我希望我的 IP 地址是 192.168.1.101。当前是 192.168.1.13 来自 DHCP。我选择的 IP 地址非常随意,但我将拥有一组我希望 IP 地址为 192.168.1.1XX 的计算机。
我习惯将子网设置为255.255.255.0,但收到错误消息:should be in CIDR form (xx.xx.xx.xx/yy)。我不确定这意味着什么或如何解决它。当我尝试/24在子网末尾添加时,错误消息消失,我收到一条新的错误消息:'192.168.1.101' is not contained in '255.255.255.0/24'.
更新: 这是错误消息的屏幕截图
我的一个无头系统通过/etc/network/interfaces有线以太网分配了一个静态 IP 地址。它连接到路由器,该路由器也是 DHCP 服务器。几天后,静态地址被删除并替换为 DHCP 地址。为什么会这样?
sudo ifdown eth0 && sudo ifup eth0或sudo service networking restart或重新启动,系统将在其静态地址一遍,但随后几天后,IP地址更改为动态的。 自动低速
iface lo inet环回
自动 eth0
iface eth0 inet 静态
地址 192.168.124.104
网关 192.168.124.253
网络掩码 255.255.255.0
这有点像一个谜。
什么会导致系统放弃其静态地址并改为请求 DHCP 地址?要查找什么,在哪个日志文件中?
我正在尝试为我的 LTSP 服务器设置一个静态 IP 地址,以便通过 配置我的两个 NIC 之一(内部一个:服务器 -> 轻客户端)/etc/network/interfaces,但是当我打开接口文件时,我能看到的是:
auto lo
iface lo inet loopback
Run Code Online (Sandbox Code Playgroud)
这是正常的吗?
我正在尝试在 Ubuntu 16.04 的接口上设置静态 IP。它用于没有 DHCP 服务器或 DNS 配置的本地连接。我已经尝试从 Edit Connections GUI 和 CLI 执行此操作,但运气不佳。
我四处搜索并发现了几个类似的问题(Set static IP Ubuntu 16.04等),但我自己似乎无法获得正确的设置。
这就是我所在的位置... 目前有三个设备连接到一个交换机。一个配置为 1.51,一个配置为 1.20,而这个 16.04 系统我正在尝试配置为 1.49。51 和 20 的沟通都很好。我已经更换了电缆并尝试了不同的端口……所以我知道这不是物理问题。而且,事实上,该交换机上的其他系统之一是 Ubuntu 14.04,其接口设置相同,但 IP 为 51。这里唯一的问题似乎是 Ubuntu 16.04 系统。
16.04 /etc/network/interfaces 文件:
# interfaces(5) file used by ifup(8) and ifdown(8)
# The loopback network interface
auto lo
iface lo inet loopback
# Primary network interface
auto enp4s0
#iface enp4s0 inet dhcp
iface enp4s0 inet static
address 192.168.1.49
netmask 255.255.255.0 …Run Code Online (Sandbox Code Playgroud) 我正在使用 Ubuntu 服务器 16.04 并设置一些网络接口,我希望在 /etc/network/interfaces 更改其地址后重新加载静态 IP,而无需重新启动:
auto ens6
iface ens6 inet static
address 192.168.0.41
netmask 255.255.255.0
broadcast 192.168.0.255
Run Code Online (Sandbox Code Playgroud)
我尝试了以下方法:
sudo systemctl restart networking
sudo ifconfig ens6 down (and afterwards up)
sudo ifdown ens6 (and afterwards up)
Run Code Online (Sandbox Code Playgroud)
并尝试了这些命令的一些组合,
然而,如果我在 /etc/network/interfaces 更改我的“地址”,它只会在我重新启动机器后才会更新(在 ifconfig)
在不重新启动的情况下执行此操作的正确方法是什么?
编辑 - 也由于评论而尝试过
sudo /etc/init.d/networking restart
Run Code Online (Sandbox Code Playgroud) 出于某种原因,如果我尝试设置静态 IP 地址,我的 eth0 将从ifconfig的输出中消失。我在网关笔记本电脑上运行 Ubuntu 服务器 12.10。
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)
然后在我运行时给出这个输出ifconfig:
eth0 Link encap:Ethernet HWaddr xx:xx:xx:xx:xx:xx
inet addr:192.168.1.101 Bcast:192.168.1.255 Mask:255.255.255.0
inet6 addr: fe80::2e0:b8ff:fee7:f71c/64 Scope:Link
UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
RX packets:281 errors:0 dropped:0 overruns:0 frame:0
TX packets:352 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000
RX bytes:31874 (31.8 KB) TX bytes:45369 (45.3 KB)
lo Link encap:Local Loopback
inet addr:127.0.0.1 Mask:255.0.0.0
inet6 addr: ::1/128 Scope:Host
UP LOOPBACK RUNNING MTU:16436 Metric:1
RX packets:430 errors:0 dropped:0 …Run Code Online (Sandbox Code Playgroud) 我刚刚安装了 ubuntu 服务器 17.10。在安装过程中,它建议我通过wifi连接到网络,我就这样做了。安装完成并重新启动系统后,计算机自动连接到wifi(这意味着它会将连接凭据保存在某处)。但在/etc/network/interfaces我什么也没找到。我需要我的计算机使用静态 ip 连接到 wifi 网络,所以我已将配置放入/etc/network/interfaces:
# /etc/network/interfaces -- configuration file for ifup(8), ifdown(8)
# Generated by debian-installer.
# The loopback interface
auto lo
iface lo inet loopback
iface wlp2s0b1 inet static
wpa-driver wext
address 192.168.0.12
netmask 255.255.255.0
gateway 192.168.0.1
wpa-ssid *****
wpa-psk **********
dns-nameservers 8.8.8.8 192.168.0.1
auto wlp2s0b1
Run Code Online (Sandbox Code Playgroud)
当系统启动时,它不会使用我的配置进行连接。它只有在
sudo ifdown wlp2s0b1 && sudo ifup -v wlp2s0b1
执行此命令后,系统将获得第二个 IP!服务器仍然通过从DHCP获取的ip可用,同时通过静态ip可用!
我有一台运行 Ubuntu Server 18.04 的机器。网络是使用 Netplan 配置的,所以我有这个配置/etc/netplan/01-netcfg.yaml:
network:
version: 2
renderer: networkd
ethernets:
enp1s0f0:
optional: false
addresses:
- 10.0.0.1/24
wifis:
wlp2s0:
optional: true
dhcp4: yes
access-points:
[...]
Run Code Online (Sandbox Code Playgroud)
enp1s0f0已连接到可能已打开或未打开的设备(在启动时或任何其他时间)。我想在这个接口上运行一个 DHCP 服务器。
问题是,当我启动时有几分钟的延迟,我看到这条消息:
A start job is running for Wait for Network to be Configured
Run Code Online (Sandbox Code Playgroud)
最终它超时,引导继续,但enp1s0f0从未配置或启动。ip link show enp1s0f0给出:
2: enp1s0f0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc mq state DOWN mode DEFAULT group default qlen 1000
link/ether 10:dd:b1:ef:65:21 brd ff:ff:ff:ff:ff:ff
Run Code Online (Sandbox Code Playgroud)
我不知道它的重要性NO-CARRIER是什么,但如果它相关,这里是输出sudo lspci -v: …
我想用静态 IP 地址设置我的机器。我以前做过,而且有效。
已经很长时间了,所以,在开始之前,我再次研究了如何去做。它看起来很熟悉,我记得之前的过程……所以我开始了……
我应该提到这是一个新的安装。在尝试此操作之前,我所做的唯一一件事就是进行更新并安装 ssh。
我认为奇怪的第一件事是/etc/network/interfaces. 它看起来像这样:
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback
Run Code Online (Sandbox Code Playgroud)
对于 eth0,我通常能找到的东西在哪里(而且整个页面似乎都表明我会找到)?我期待看到:
auto eth0
iface eth0 inet dhcp
Run Code Online (Sandbox Code Playgroud)
有趣的是,它确实获取了一个 IP 地址——192.169.1.100这有点奇怪,因为 IP 通常是按顺序分配的,我原以为它会获取,192.168.1.7因为这是下一个可用的 IP。
无论如何,抛开这些奇怪的事情,我继续努力。我添加了以下内容/etc/network/interfaces
auto eth0
iface eth0 inet static
address 192.168.1.201
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
gateway 192.168.1.1
Run Code Online (Sandbox Code Playgroud)
然后下一剂奇怪的东西……我发出了以下命令:/etc/init.d/networking restart……什么也没发生。没有错误信息,什么都没有。所以,我试过这个:service networking restart......这就是发生的事情:
stop: Job failed while stopping
start: Job is already running: networking
Run Code Online (Sandbox Code Playgroud)
所以我重新启动了。网络配置看起来很棒。我可以从内部网络通过 …