Linux:虚拟机新建网卡并手动设置ip地址

配置新建网卡的步骤

1.在vmvare虚拟机中点击编辑-虚拟网络适配器添加网络,网络设成NAT模式或仅主机模式
2.在虚拟机中添加新的网卡适配器
3.ifconfig查看新的网卡有没有添加进去,关闭防火墙和NetworkManager服务
4.进入/etc/sysconfig/network-scripts/,创建并编辑新加网卡的配置文件
5.重启network服务,这个服务是用来管理网卡配置的
6.ping自己的主机查看是否能ping通

ifconfig

ifconfig命令用于查看linux系统上的网卡详情,在CentOS7中网卡名称是以ens为开头,一般第一个网卡名称为ens33,其中s表示该网卡可以热拔插。inet6是网卡的ipv6地址,ether是这个网卡的mac地址。RX和TX是收发的流量包,一般在网络质量不佳的时候查看来推断问题。lo表示这是本地回环地址,virbr0是虚拟网卡。

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.60.214  netmask 255.255.255.0  broadcast 192.168.60.255
        inet6 fe80::9c8b:d3df:1af5:153  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:29:03:7e  txqueuelen 1000  (Ethernet)
        RX packets 6930  bytes 6879097 (6.5 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4959  bytes 487541 (476.1 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 4  bytes 348 (348.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 4  bytes 348 (348.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:71:6b:9c  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ifconfig命令的选项

ifconfig:后接网卡名只显示单个网卡的信息,不接网卡名显示全部活动网卡的信息。
ifconfig -a:显示所有活动的,不活动的网卡的信息。
ifconfig ens33 192.168.214.214/24:为ens33临时赋予一个ip地址,ens33和ip地址可随意替换,如果想要永久使用这个ip地址需要进入配置文件进行修改。
ifconfig ens33:0 192.168.215.214/24:创建一个虚拟网卡并赋予ip地址,:代表这是一个虚拟网卡。虚拟网卡一般用于只有一个网卡但是需要拥有多个网段的ip地址的时候。
ifconfig ens33:0 down:禁用ens33:0网卡,可以写成ifdown ens33:0。如果这个网卡的信息没有写进该网卡的配置文件中,down会直接删除,无法再次启动,如果写进配置文件可以通过启动命令重启网卡。
ifconfig ens33:0 up:启动ens33:0网卡,可以写成ifup ens33:0。

网卡配置文件

网卡配置文件位于/etc/sysconfig/network-scripts/目录下,以ifcfg-网卡名的格式显示出来
进入ifcfg-ens33文件中
在这里插入图片描述
type:网络模式
bootproto:启动协议,有 none static dhcp 三个启动模式,none相当于不使用dhcp,static要手写ip地址
name:网卡名
uuid:这个是设备的uuid,配置的时候可以不写,会自动识别
device:系统逻辑设备名,name和device最好是一样的
onboot:开机是否自启
ipaddr:添加ip地址
netmask:子网掩码
gateway:网关
dns1:电信的114.114.114.114,谷歌的8.8.8.8

配置新网卡

添加网络

首先在虚拟网络适配器中添加网络,我这里添加了vmnet2网络,最下面的子网ip网段可以可以按照自己喜好进行设置,网卡配置文件中的ip地址必须处在这里的子网网段中,否则连不通。
在这里插入图片描述
可以在这里看到添加的vmnet2在这里插入图片描述
为vmnet2设置ip地址
在这里插入图片描述

网络的各种模式

桥接模式:和主机共享同一个网络,能上网,同一个网络当中的机器可以互相ping通虚拟机
仅主机模式:只能主机和虚拟机之间互通,或者虚拟机之间互通
net模式:可上网,虚拟机之间可以互通,主机和虚拟机可以互通,外网的机器ping不通我的虚拟机,net和进主机的区别是一个可以上网,一个不能上网,net模式需要配网关,网关在nat设置里查看,而进主机模式不需要配网关。

添加网络适配器

为linux虚拟机添加一块新的网卡,网卡的网络模式必须和虚拟网络适配器中的网络模式一致,否则会出现连不通的问题。
在这里插入图片描述

查看网卡没有没添加进去,关闭防火墙和NetworkManager服务

[root@localhost ~]# ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.60.214  netmask 255.255.255.0  broadcast 192.168.60.255
        inet6 fe80::9c8b:d3df:1af5:153  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:29:03:7e  txqueuelen 1000  (Ethernet)
        RX packets 8959  bytes 7036426 (6.7 MiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 5649  bytes 580450 (566.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ens37: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet6 fe80::2b75:bf67:6a22:3bae  prefixlen 64  scopeid 0x20<link>
        ether 00:0c:29:29:03:88  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 13  bytes 1838 (1.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
//可以看到新添加了一个名为ens37的网卡,但是该网卡还没有配置ip地址

关闭防火墙和NetworkManager服务主要防止因为防火墙和NetworkManager服务的原因导致没有ping通。

[root@localhost ~]# systemctl stop firewalld 
[root@localhost ~]# systemctl stop NetworkManager

创建并编辑网卡配置文件

进入/etc/sysconfig/network-scripts/目录下,创建ifcfg-ens37文件,对文件进行编辑,由于是对仅主机模式的网卡设置配置文件,文件中必须要有type,bootproto,name,device,onboot,ipaddr,netmask,dns1的内容

TYPE=Ethernet
BOOTPROTO=none
NAME=ens37
DEVICE=ens37
NOBOOT=yes
IPADDR=192.168.214.214
NETMASK=255.255.255.0
DNS1=114.114.114.114
//强调一下=左边必须大写,否则无法识别

重启network服务

本来打算在不重启的情况下更新配置文件,但是出错了,改为重启network服务

[root@localhost network-scripts]# systemctl reload network
Failed to reload network.service: Job type reload is not applicable for unit network.service.
See system logs and 'systemctl status network.service' for details.

可能要等待一段时间,不要着急

[root@localhost network-scripts]# systemctl restart network

用主机ping通该网卡

可以看到成功ping通
在这里插入图片描述

### 创建带指定网络接口的KVM虚拟机 当创建带有特定网络接口配置的 KVM 虚拟机时,可以按照如下方法操作: #### 使用命令行工具 `virt-install` 配置网络接口 对于大多数情况而言,推荐使用 `virt-install` 工具来简化虚拟机的创建过程。此工具允许通过简单的命令参数定义各种硬件属性。 ```bash sudo virt-install \ --name=myvm \ --memory=2048 \ --vcpus=2 \ --os-type=linux \ --disk path=/var/lib/libvirt/images/myvm.qcow2,size=20,bus=virtio,format=qcow2 \ --network bridge=br0,model=virtio \ --graphics vnc,port=5901 \ --console pty,target_type=serial \ --location 'http://ftp.example.com/centos7/os/x86_64/' \ --extra-args='console=ttyS0' ``` 上述命令中,`--network bridge=br0,model=virtio` 参数指定了要使用的桥接设备名称以及网卡模型。这里选择了名为 br0 的 Linux 桥接器作为连接点,设置了 VirtIO 网络适配器以提高性能[^1]。 如果希望创建隔离型内部网络,则可采用 NAT 或者用户模式网络而不是物理桥接方式: ```bash --network network=default,model=virtio ``` 这将在默认情况下建立一个基于NAT的方式访问外网的同时保持内网独立性[^2]。 #### 手动编辑 XML 定义文件设置网络 另一种更灵活的方法是编写完整的 libvirt 域 (domain) XML 文件,在其中精确控制每一个细节。下面是一个示例片段展示如何为 VM 添加一张具有固定 MAC 地址和自定义 IP 地址分配策略的 NIC 卡: ```xml <interface type="bridge"> <mac address="52:54:00:d3:ac:b3"/> <source bridge="virbr0"/> <model type="virtio"/> <address type="pci" domain="0x0000" bus="0x00" slot="0x03" function="0x0"/> </interface> ``` 这段XML代码表示将一块VirtIO类型的NIC绑定到了名为 virbr0 的Linux Bridge上,赋予其固定的MAC地址以便于识别管理[^3]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值