Jos*_*osh 17 command-line virtualbox network-manager networking
嗨,有人熟悉 ubuntus 网络管理器的非 gui 版本吗?
我想在不接触文件的情况下在 virtualbox 中设置一个静态 IP /etc/network/interfaces。
此外,我想设置一个带有动态 IP 的第二个网络接口,以便通过 Vbox 连接到互联网。
Joh*_*nds 11
您需要从命令行使用 Network Manger,这是nmcli。
首先,您可以使用以下内容列出网络管理器知道的可用连接,这对于找到名称很重要,因为不使用设备 ID:
# nmcli con show
Run Code Online (Sandbox Code Playgroud)
这会给你类似的东西:
NAME UUID TYPE DEVICE
Wired connection 1 7a3b674a-f346-3cfb-8b30-ff70e6db1b60 802-3-ethernet enp0s3
Run Code Online (Sandbox Code Playgroud)
然后,您可以使用以下内容修改连接:
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"
Run Code Online (Sandbox Code Playgroud)
当您输入上述内容时,请使用一行,我只是将其拆分为单独的行以使其更清楚。
如果要设置连接使用 DHCP,可以使用以下命令:
nmcli con mod "Wired connection 1"
ipv4.addresses ""
ipv4.gateway ""
ipv4.dns ""
ipv4.dns-search ""
ipv4.method "auto"
Run Code Online (Sandbox Code Playgroud)
您需要所有空引号,因为它们会删除以前拥有的任何设置。
要添加网络,请使用:
nmcli con add ...
Run Code Online (Sandbox Code Playgroud)
具有相似的参数。
要激活设置,请重新启动。(我尝试重新启动网络管理器,但这似乎没有激活更改,但重新启动了。)
小智 6
对于那些想要 NetworkManager 方法的人,我只是通过了这个,采用了 mss 建议的方法。在Debian wiki上有一些信息,在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
Run Code Online (Sandbox Code Playgroud)
使用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
Run Code Online (Sandbox Code Playgroud)