我已经在 Ubuntu 10.04 LTS 上的 QEMU-KVM 上设置了一些即将投入生产的 VM。
至于网络,我在 Virt-Manager 中选择了“NAT”选项,现在每个 VM 从 QEMU 的内部 DHCP 服务器获取 IP 地址 192.168.122.x。
我已多次重新启动 VM,并且 IP 地址始终相同。我为每个 VM 提供了一个具有唯一 MAC 地址的网络适配器。
那么我可以相信 QEMU 的内部 DHCP 服务器会给出相同的 IP 地址吗?或者是在每个 VM 内设置静态 IP 地址的最安全选项?
我安装了 Redhat 6 x86_64。我正在使用网络连接屏幕来设置静态 IP 地址,如下所示(我希望我家中的两台 PC 能够互相看到:一台 Redhat PC 和一台 Mac)
192.168.0.5 255.255.255.0 192.168.0.1
当我运行时,ifconfig它只显示lo和virbr0信息。我不知道这些项目是什么(我对网络设置不太了解)。
当我尝试ifconfig -a它显示eth0,lo,sit0和virbr0。信息 eth0如下:
链接封装:以太网 HWaddr 90:2B:34:74:05:30 广播多播 MTU:1500 公制:1 RX 数据包:192 错误:0 丢弃:0 溢出:0 帧:0 TX 数据包:6 错误:0 丢弃:0 溢出:0 帧:0 碰撞:0 txqueuelen:1000 RX 字节 53811 (52.5 KiB) TX 字节:468 (468.0 b) 中断:29 基地址:0xc000
有人能帮我指出我的设置是否有问题或如何解决这个问题吗?
我的Ubuntu12服务器 VM 正在从 DHCP 服务器(实际上是我的 WLAN 路由器,称为 Fritz Box)接收其 IP 地址。因此,所有域名都解析为machinename.fritz.box. 原因似乎是resolv.conf下文件/etc。
但是如何将此搜索名称更改为任意名称,例如xyz.mydomain? 它明确表示不要编辑文件。机器本身被设置为ubuntu.xyz.mydomain在hostname。我想要的machine1是假设为machine1.xyz.mydomainand NOT(!) machine1.fritz.box。
# Dynamic resolv.conf(5) file for glibc resolver(3) generated by resolvconf(8)
# DO NOT EDIT THIS FILE BY HAND -- YOUR CHANGES WILL BE OVERWRITTEN
nameserver 192.168.0.1
search fritz.box # shall be xyz.mydomain
Run Code Online (Sandbox Code Playgroud) 我的目标是禁止dhclient使用通过 DHCP 接收的服务器更新我的 NTP 配置,因为它是 Debian/Ubuntu 上的默认设置。但是,我的 DHCP 服务器忽略了请求的选项列表(来自request设置)并且它的答案总是包含一个 NTP 服务器。
所以我想在进一步处理之前删除该选项,或者至少用空值覆盖它。使用该supersede设置可以覆盖,但我没有设法将其设为空。我也找不到完全删除选项的方法。
实际上导致空值的原因是指定了一个无效的 in supersede(例如,包含字母,因为只允许使用数字值)。这实际上是无效的,但会导致日志文件中出现错误。有人知道更好的方法吗?
我正在运行 CentOS 7。我没有运行 NetworkManager,我实际上已经卸载了它。
我的系统应该br0在启动时通过 DHCP 获取 IPv4 地址。但是,当我登录时,它没有地址。
我的配置:
# pwd
/etc/sysconfig/network-scripts
# cat ifcfg-enp5s0
DEVICE=enp5s0
ONBOOT="yes"
BRIDGE=br0
# cat ifcfg-br0
DEVICE=br0
ONBOOT=yes
TYPE=Bridge
BOOTPROTO=dhcp
STP=on
DELAY=0
Run Code Online (Sandbox Code Playgroud)
请注意,我没有手动配置此网桥;virt-manager当我br0在此对话框中添加时这样做:

相关journalctl --boot | grep '\(\<br0\>\|enp5s0\)'和上下文:
Jan 08 21:04:32 jonathon-centos7 kernel: r8169 0000:05:00.0 enp5s0: link down
Jan 08 21:04:32 jonathon-centos7 kernel: IPv6: ADDRCONF(NETDEV_UP): enp5s0: link is not ready
Jan 08 21:04:32 jonathon-centos7 kernel: r8169 0000:05:00.0 enp5s0: link down
Jan 08 21:04:32 jonathon-centos7 kernel: device …Run Code Online (Sandbox Code Playgroud) 我想第一次尝试进行 PXE 安装。
我读过的每个教程似乎都表明它需要将 DHCP 服务器配置为使用启动映像指向 TFTP 服务器。我不明白为什么需要 DHCP,不是可以手动配置计算机的 IP 和网络设置,并手动指定 TFTP 服务器所在的 IP 吗?
如果没有,是否有任何特殊原因不允许您执行此操作,或者在 pxe 菜单中给出一个简单的提示,要求手动指定网络路径?
我已经创建了一个 Windows XP 映像,并且正在使用 qemu 启动它。当通过 使用“用户模式网络”时-net user,我的来宾操作系统(windows xp)获得分配的 10.0.2.15 IP,我可以 ping 10.0.2.2,以便正确安装 Windows 驱动程序。
不幸的是,我无法访问其他任何内容。我阅读了教程,发现“用户模式网络”不会将连接转发到互联网,我必须使用 TAP 设备或桥接设备。
我不熟悉这些设备,教程非常混乱和复杂。
其中一个教程建议我使用 qemu-bridge-helper。我将 /etc/qemu/bridge.conf 配置为允许 br0 桥接设备并通过brctl addbr br0.
我按照教程并以这种方式启动了我的 winxp:
qemu-system-x86_64 --enable-kvm -m 2048 \
-drive file=winxp.img,if=virtio \
-net nic,model=virtio \
-net bridge,br=br0
Run Code Online (Sandbox Code Playgroud)
图像启动良好,但我没有获得 IP 地址。原因是 Windows 被配置为使用 DHCP,但“br0”没有提供 DHCP 地址,因为它只是一个桥接接口(不知何故与 tap0 绑定,但我不确定这意味着什么)。
我的问题是 - 如何配置“br0”以通过 DHCP 为 winxp 提供地址?我必须在 tap0 接口上运行 dhcp 服务器吗?br0、tap0 和 eth0 有什么关系?(eth0 是我的静态 IP 接口,唯一的 Internet 接口。)
我的第二个问题是 - 是否有更简单的方法来配置所有这些以允许对来宾操作系统进行简单的互联网访问?
我在 ubuntu 18.04 服务器上。我需要运行一个更新 CloudFlare 上的 IP 地址的脚本(一种 DynDNS 脚本)。在以前的版本中,我可以使用接口 enp1s0 的 DHCLIENT 退出挂钩来执行此操作。
\n\n但是,systemd 现在使用自己的内置 DHCP 客户端。如何编写一个 systemd 单元,在向 DCHP 客户端提供新 IP 地址后立即执行 bash 脚本?
\n\nSystemd 正在管理接口 enp1s0:
\n\n#sudo systemctl status systemd-networkd\n\xe2\x97\x8f systemd-networkd.service - Network Service\n Loaded: loaded (/lib/systemd/system/systemd-networkd.service; enabled-runtime; vendor preset: enabled)\n Active: active (running) since Tue 2018-09-18 01:54:16 +08; 10h ago\n Docs: man:systemd-networkd.service(8)\n Main PID: 878 (systemd-network)\n Status: "Processing requests..."\n Tasks: 1 (limit: 4915)\n CGroup: /system.slice/systemd-networkd.service\n \xe2\x94\x94\xe2\x94\x80878 /lib/systemd/systemd-networkd\n\nSep 18 01:54:27 xxx systemd-networkd[878]: enp1s0: Configured\n …Run Code Online (Sandbox Code Playgroud) 我目前正在为 Ubuntu 18.04 服务器配置网络接口,使用 netplan 和网络后端。我的托管提供商为此服务器提供了 IPv4 和 IPv6,但是 IPv6 不会自动配置,而我目前正在尝试这样做。
我的netplan配置文件如下:
network:
version: 2
ethernets:
ens3:
dhcp4: true
dhcp6: true
match:
macaddress: xx:xx:xx:xx:xx:xx
set-name: ens3
Run Code Online (Sandbox Code Playgroud)
运行时netplan apply,分配的 IPv6 不会出现在 中ip addr。我认为这是因为我的提供商可能不提供 IPv6 的 DHCP,但如果我没记错(通过设置不同的服务器),日志中会显示错误systemd-networkd,但我只能看到:
systemd[1]: Starting Network Service...
systemd-networkd[9367]: ens3: Gained IPv6LL
systemd-networkd[9367]: Enumeration completed
systemd[1]: Started Network Service.
systemd-networkd[9367]: lo: Link is not managed by us
systemd-networkd[9367]: ens3: DHCPv4 address xxx.xxx.xxx.xxx/32 via yyy.yyy.yyy.yyy
systemd-networkd[9367]: ens3: Configured
Run Code Online (Sandbox Code Playgroud)
当尝试通过 DHCP 获取 IPv6 时,它没有显示任何我理解的错误(Gained …
我想从 gnome 切换到 awesome,我想在命令行中连接我的 wifi 网络(而不是使用 gnome 工具)。
所以,我在互联网上搜索并找到了大致相同的方法:
ifconfig wlan0 up
iwconfig wlan0 essid "MyNetwork" key THEHEXAKEY
dhclient wlan0
Run Code Online (Sandbox Code Playgroud)
当我独自运行 awesome 并执行这些命令时,我会被困在第三个。看起来 DHCP 无法解析(命令继续无休止地运行)。
但是当我在 Xephyr 中运行 awesome 并执行相同的命令时,dhclient wlan0效果很好。
所以我想 Gnome 做了一些我不做但我找不到的事情。
有人可以帮助我吗?