标签: netplan

How to add a static secondary IP to a DHCP interface using netplan?

我的服务器有一个文件 /etc/netplan/50-cloud-init.yaml ,内容如下:

# This file is generated from information provided by
# the datasource.  Changes to it will not persist across an instance.
# To disable cloud-init's network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    version: 2
    ethernets:
        ens3:
            dhcp4: true
            match:
                macaddress: fa:**:**:**:**:**
            set-name: ens3
Run Code Online (Sandbox Code Playgroud)

这导致以下接口配置:

2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1450 qdisc fq_codel state UP group default qlen 1000
    link/ether fa:**:**:**:**:** brd ff:ff:ff:ff:ff:ff
    inet 10.0.0.5/24 brd 10.0.0.255 scope global dynamic …
Run Code Online (Sandbox Code Playgroud)

dhcp static-ip linux-networking netplan

6
推荐指数
2
解决办法
9419
查看次数

用替代品替换 systemd-machine-id-setup?

我们在ubuntu-18.04虚拟化环境中使用模板。因此,在创建模板之前,我们总是清空/etc/machine-id文件,以便在第一次启动时重新创建。

问题在于,如果同时启动多个基于 ubuntu-18 的 VM,systemd-machine-id-setup将为所有这些VM生成相同的 ID,从而导致 IP 重复。我检查了这些服务器,它们在/etc/machine-id文件中都有相同的内容。

IP复制

如果机器按时间间隔开机,则会分配不同的 IP,因此我假设systemd-machine-id-setup是根据当前时间(可能)生成的。由于上图中的问题,这对我们来说是不可接受的。

有没有办法让操作系统/etc/machine-id基于替代二进制文件生成启动时?

--- 更新 1 ---

在@GeraldSchneider 的提示中,我从 netplan 切换回 ifdownup并且 IP 停止复制,所以这绝对是一个 netplan 问题。

没有重复的IP

即使这可以解决问题,我很好奇是否有办法设置生成/etc/machine-id文件的替代方法,以便使用 netplan 不会发生重复。

networking ubuntu ubuntu-18.04 netplan

5
推荐指数
1
解决办法
1193
查看次数

无法 ssh 或 ping 主机名,但 dig 和 nslookup 在 Ubuntu 18.04 上工作

我这个周末更新了内核,现在使用的是 5.3.1。

christopher@HAL4:~$ uname -r
5.3.1-050301-generic
Run Code Online (Sandbox Code Playgroud)

我需要登录服务器,但我无法再通过主机名登录。例如,我有一个服务器“web4”,它的本地 IP 是 192.168.64.140。如果我运行挖掘:

christopher@HAL4:~$ dig web4

; <<>> DiG 9.11.3-1ubuntu1.9-Ubuntu <<>> web4
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 1580
;; flags: qr aa rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 1280
;; QUESTION SECTION:
;web4.              IN  A

;; ANSWER SECTION:
web4.           0   IN  A   192.168.64.140

;; Query time: 0 msec
;; SERVER: 192.168.3.222#53(192.168.3.222) …
Run Code Online (Sandbox Code Playgroud)

domain-name-system resolv.conf ubuntu-18.04 netplan

4
推荐指数
1
解决办法
1万
查看次数

如何让 Netplan 根据来自 DHCP 服务器的信息在 /etc/resolv.conf 中设置 DNS 服务器?

我正在使用以下简单的网络拓扑设置 4 x RPi 集群:

在此输入图像描述

所有 4 个 RPi 节点都具有最新的 Ubuntu Server LTS 20.04 操作系统。rpi1 是我的主/网关节点。我在 rpi1 上执行了以下操作:

  • 使用 netplan 在 eth0 10.0.0.1 上分配静态 IP 地址
  • 禁用systemd-resolved并手动创建/etc/resolv.confnameserver 127.0.0.1
  • 设置dnsmasq如下/etc/dnsmasq.conf
# Basics:
interface=eth0
listen-address=127.0.0.1

# DHCP Settings (MAC Addresses removed)
dhcp-range=10.0.0.1,10.0.0.128,12h

dhcp-host=XX:XX:XX:XX:XX:XX,rpi1,10.0.0.1
dhcp-host=XX:XX:XX:XX:XX:XX,rpi2,10.0.0.2
dhcp-host=XX:XX:XX:XX:XX:XX,rpi3,10.0.0.3
dhcp-host=XX:XX:XX:XX:XX:XX,rpi4,10.0.0.4

dhcp-option=option:router,10.0.0.1
dhcp-option=option:dns-server,10.0.0.1
dhcp-option=option:netmask,255.255.255.0

# Forward to nameservers:
server=8.8.8.8
server=8.8.4.4

# Misc
bind-interfaces
domain-needed
bogus-priv
expand-hosts
Run Code Online (Sandbox Code Playgroud)
  • 向文件添加身份/etc/hosts
10.0.0.1 rpi1
10.0.0.2 rpi2
10.0.0.3 rpi3
10.0.0.4 rpi4
Run Code Online (Sandbox Code Playgroud)

此设置似乎可以作为 …

dnsmasq netplan

2
推荐指数
1
解决办法
2万
查看次数