原创不易,转载请注明出处
一、解决新网卡不生效问题
公司服务器上是双网卡的,windowsServer2019已经是内外网都可以访问,hyperV虚拟机里面安装了centos8,原本虚拟机只打算在公司内网使用,所以只用了一个网卡,现在想让centos链接外网,就添加了一个网卡。用命令
ifconfig -a能够看多了一个网卡eth1
![](https://i-blog.csdnimg.cn/blog_migrate/2a220052ce61d5c37c9a813ae153e837.png)
但是用
nmcli con show 查看只能识别出eth0网卡,新的eth1网卡没有识别
![](https://i-blog.csdnimg.cn/blog_migrate/9fa6d0c1c9e14f7d8176d0f9c1479719.png)
因为新增加的网卡是没有ip地址的,所以需要设置ip地址,但是我找不到配置文件
cd /etc/sysconfig/network-scripts
#网卡配置文件路径
![](https://i-blog.csdnimg.cn/blog_migrate/e993fb4ae14b413d5c7ab3005462c3e7.png)
其实系统已经识别出新网卡了,只是没有自动生成配置文件而已,这时候可以参考
ifcfg-eth0自己配置一个,
先看看ifcfg-eth0里面的内容,如下:
![](https://i-blog.csdnimg.cn/blog_migrate/17e6a938748b7e140dd0506dd3f42270.png)
发现有个UUID,这个是网卡唯一id,也就是这个eth0网卡的id,但是我们新添加的eth1网卡是没有这个UUID的,那怎么添加呢?
其实只要能用于识别是唯一网卡的标记都行,例如在用ifconfig命令看到的mac地址
![](https://i-blog.csdnimg.cn/blog_migrate/bada539411df5d98945fe3841255a976.png)
可以作为网卡唯一识别码,
vim /etc/sysconfig/network-scripts/ifcfg-eth1
TYPE="Ethernet"PROXY_METHOD="none"BROWSER_ONLY="no"BOOTPROTO="static"DEFROUTE="yes"IPV4_FAILURE_FATAL="no"IPV6INIT="yes"IPV6_AUTOCONF="yes"IPV6_DEFROUTE="yes"IPV6_FAILURE_FATAL="no"IPV6_ADDR_GEN_MODE="stable-privacy"NAME="eth1"HWADDR="00:15:xx:xx:xx:xx" #这里是新网卡的mac地址DEVICE="eth1"ONBOOT="yes"#下面是设置网卡信息IPADDR=183.24.xx.xxNETMASK=255.255.255.248GATEWAY=183.24.xx.xxDNS1=202.96.128.86DNS2=202.96.128.166
保存退出,然后重启服务器,应该重启网卡也行,保险起见还是重启服务器吧。
重启完之后再查看网卡状态
![](https://i-blog.csdnimg.cn/blog_migrate/afdc9cf7ff3394fc2f6a5b82f48ad250.png)
![](https://i-blog.csdnimg.cn/blog_migrate/c1231b0554a3c2650b94b6d9ef2ffc1c.png)
这时候可以看到eth1的UUID也出来了,如果你喜欢,可以把ifcfg-eth1配置文件的HWADDR改为用UUID,如下图
![](https://i-blog.csdnimg.cn/blog_migrate/09f66731891988cc979708fb8f3de192.png)
至此,新网卡已经添加到centos8虚拟机并且已经启用。
二、解决不能上外网问题
现在情况是
内网:
ip地址:192.168.3.210
子网掩码:255.255.255.0
网关:192.168.3.1
外网:
ip地址:183.24.xx.xx
子网掩码:255.255.255.248
网关183.24.xx.xx
测试发现虚拟机还是不能访问外网,这是因为只能有一个默认网关,当前默认网关是内网的网关192.168.3.1
这时候要删除网卡eth0的网关,然后设置eth0的路由
修改网卡配置文件
vim /etc/sysconfig/network-scripts/ifcfg-eth0
![](https://i-blog.csdnimg.cn/blog_migrate/91a19d3625cee38e29407e440aab6b5b.png)
配置eth0网卡路由
其实是添加路由配置文件,配置文件命名规则是给哪个网卡配置就命名为route-xxx,例如给网卡eth0配置,就是route-eth0
文件放在
/etc/sysconfig/network-scripts 文件夹下和网卡配置文件放一起。
CentOS 8配置永久静态路由,在rc.local文件中配置不生效。需要在/etc/sysconfig/network-scripts/route-eth0中添加静态路由才可以生效。以下是具体格式:
[$Destination]/[$Subnet_Mask] via [$Next_Jump] dev [$Interface]
说明:
[$Destination]指的是目标网段。
[$Subnet mask]指的是子网掩码。
[$Next_Jump]指的是下一跳地址,可以是网关或路由器地址。
[$Interface]指的是对应的接口。
vim /etc/sysconfig/network-scripts/route-eth0
添加如下内容:
192.168.3.0/24 via 192.168.3.1 dev eth0
这样配置的作用,来自192.168.3.xx 的请求就会去到eth0网卡,其他请求就会走eth1网卡,设置完之后
/etc/sysconfig/network-scripts 下的文件有3个
![](https://i-blog.csdnimg.cn/blog_migrate/5683b2c2375d211e49052ce48edf004a.png)
重启服务器,再进行测试,已经能够访问外网了。