你好,有谁熟悉非 GUI 版本的 Ubuntu 网络管理器吗?
我想在 virtualbox 中设置一个静态 IP,而不触碰该文件/etc/network/interfaces
。
- IP:192.168.56.101
- 网关:102.168.1.1
- 网络掩码:255.255.255.0
此外,我想设置一个具有动态 IP 的第二个网络接口,以便使用 Vbox 连接到互联网。
答案1
您需要从命令行使用网络管理器,这是命令行。
首先,您可以用下列命令列出网络管理器所知道的可用连接,查找名称很重要,因为未使用设备 ID:
# nmcli con show
这会给你类似这样的结果:
NAME UUID TYPE DEVICE
Wired connection 1 7a3b674a-f346-3cfb-8b30-ff70e6db1b60 802-3-ethernet enp0s3
然后您可以使用以下命令修改连接:
nmcli con mod "Wired connection 1"
ipv4.addresses "HOST_IP_ADDRESS/IP_NETMASK_BIT_COUNT"
ipv4.gateway "IP_GATEWAY"
ipv4.dns "PRIMARY_IP_DNS,SECONDARY_IP_DNS"
ipv4.dns-search "DOMAIN_NAME"
ipv4.method "manual"
当您输入上述内容时,请使用一行,我只是将其分成单独的行以使其更加清晰。
如果要将连接设置为使用 DHCP,可以使用以下命令:
nmcli con mod "Wired connection 1"
ipv4.addresses ""
ipv4.gateway ""
ipv4.dns ""
ipv4.dns-search ""
ipv4.method "auto"
您需要所有空的引号,因为它们会删除它们之前的所有设置。
要添加网络,请使用:
nmcli con add ...
具有相似的参数。
要使设置生效,请重新启动。(我尝试重新启动网络管理器,但似乎没有激活更改,但重新启动可以。)
答案2
对于那些想要 NetworkManager 方法的人,我刚刚经历了这一切,采取了 mss 建议的策略。这里有一些关于Debian 维基以及选项的完整文档GNOME 开发者网站.(从 RHEL7 文档来看,他们的版本确实nmcli
有添加支持,所以希望能够实现。)
动态 IP 非常简单(只需进行网络配置,而不是 VBox 端):
[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX
[connection]
id=Wired connection 1
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0
[ipv6]
method=disabled
[ipv4]
method=auto
使用uuidgen
(package uuid-runtime
) 来创建 uuid,当然还要正确填写 MAC 地址。(这样做通常比指定设备名称更好。)
对于静态 IP(请注意 DNS 数组上的分号!):
[802-3-ethernet]
auto-negotiate=true
mac-address=XX:XX:XX:XX:XX:XX
[connection]
id=Wired connection 2
uuid=xxx-xxxxxx-xxxxxx-xxxxxx-xxx
type=802-3-ethernet
timestamp=0
[ipv6]
method=ignore
[ipv4]
method=manual
dns=8.8.8.8;8.8.4.4;
address1=192.168.56.101/24,192.168.1.1
答案3
目前 Ubuntu 版本已启用网络管理器。
您可以使用以下命令获取连接名称:
nmcli con show
您可以从命令行修改静态 IP 地址:
sudo nmcli con mod "Connection name" ipv4.addresses xxx.xxx.xxx.xxx/24
注意:/24 将网络掩码定义为 255.255.255.0
/ect/network/interfaces
如果您拥有以下属性,则managed=false
文件将被忽略/etc/NetworkManager/NetworkManager.conf
[ifupdown]
managed=**false**
答案4
由于问题专门针对 NetworkManager:我从未从 cli 配置过 NM 连接,并且该nmcli
工具似乎没有创建连接的选项。但您可能想看看当您将连接声明为系统连接时 GUI 会做什么。它会创建一个文件,/etc/NetworkManager/system-connections
但我不知道文件格式是否在任何地方有记录。
您应该能够通过 启用其中一个连接nmcli con up $name
。