Answers:
您需要从命令行使用Network Manger,这是nmcli。
首先,您可以使用以下列表列出网络管理器已知的可用连接,这对于查找名称很重要,因为未使用设备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 ...
具有相似的参数。
要激活设置,请重新启动。(我尝试重新启动Network Manager,但这似乎并没有激活更改,但是重新启动确实可以。)
对于那些想要使用NetworkManager方法的人,我按照建议的方法进行了介绍。在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
使用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
/etc/NetworkManager/system-connections/
编辑:
要在Vbox中添加另一个可以访问Internet的界面,请使用设置菜单的网络标签。然后启用一个附加接口并将其设置为NAT(因为这是访问互联网的最简单方法)。而在wirtual机添加另一个接口与DHCP像这样:
allow-hotplug eth1
和断行后,iface eth1 inet dhcp
(由于某种原因,我的格式变坏了。)
通过这种方式,您可以使用主机OS的连接访问网络。
与在Linux(以及大多数其他unix)下管理接口的标准方法相比,网络管理器的命令行“客户端”令人困惑,几乎没有用。通常,您首先需要关闭已启用的网络接口(如果已启用){运行ifconfig来找出}:
ifconfig eth0 down #note: I assume you want to configure eth0, replace it if not
之后,编辑/ etc / network / interfaces文件(我更喜欢使用nano):
sudo nano /etc/network/interfaces
并添加以下内容:
allow-hotplug eth0
iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1
另外请注意,您需要从文件中删除所有其他存在的eth0,否则系统将无法正确解析文件并且您将没有网络连接。最后,您需要重新启用该界面:
ifup eth0
并且这将使您的Ubuntu在检测到“电缆已连接”时自动使用所需的参数设置接口。
另外,如果您确实要避免编辑interfaces文件,则可以使用:
ifconfig eth0 192.168.56.101 netmask 255.255.255.0 gateway 192.168.56.1 up
我认为这样的更改不会是永久的(您将在重新启动之间丢失它们,等等),但是我自己并未对此进行测试。
ip
- ifconfig
正在下降。
当前,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**
假设您的意思是192.168.1.1而不是102.168.1.1。192.168.56.101和192.168.1.1位于不同的网络上,没有帮助就无法通话。您需要的是:
iface eth0 inet static
address 192.168.56.101
netmask 255.255.255.0
gateway 192.168.56.1
假设您有一个IP地址为192.168.56.1的盒子(路由器/第3层交换机等)来回答。
使用/ 24(255.255.255.0),您需要在主机和默认网关192.168.56.X或192.168.1.X上使前三个八位位组匹配。
使用网关和DNS轻松配置静态IP:
$ sudo nmcli con mod Your-Network ipv4.addr 172.17.100.118/23 gw4 172.17.100.1 ipv4.dns 1.1.1.1,1.0.0.1
eth1
使用静态IP 设置为内部网络接口。sudo nmcli con add type "ethernet" ifname "eth1" con-name "intnet" autoconnect "yes" ip4 "192.168.0.1/24" gw4 "192.168.0.2"