本篇着重记录 NAT 模式的配置过程,大多数人用的应该是 NAT 模式和桥接模式(NAT 模式、桥接模式、主机模式的区别自己百度,我有兴趣了再补),我之前也是用的桥接模式,但是有一次出现了 Xshell 连接不上 Linux 的问题,然而两边又都 ping 的通,该开放的端口也开放了,该关的防火墙也关了,最后我发现 Linux ping Windows 的速度特别慢,我觉得可能是网络延迟的问题,然后我把网络配置改成了 NAT 模式就好了,话说桥接模式有网络延迟的问题吗( ̄_ ̄|||),可能有吧,之后再深究。
上图:
Linux 中关于网络的配置文件是这个/etc/sysconfig/network-scripts/ifcfg-ens33;
3.1、进入这个文件,添加上图所示的一些配置# 这些不用改 TYPE=Ethernet PROXY_METHOD=none BROWSER_ONLY=no 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=ens33 UUID=18a44390-52f3-4367-bf30-ee8c3cd510d2 DEVICE=ens33 # 这些要改 ONBOOT=yes # 开启自动启用网络连接 BOOTPROTO=static # 启用静态IP地址 HWADDR=xx:xx:xx:xx:xx:xx # MAC地址,命令ip link show查看 IPADDR=192.168.14.5 # IP地址,前三个数字要和你的NAT模式的那个网卡(即上图中的Vmnet8)的子网IP地址一样,最后一个数字随便填,只要不超过255就行 NETMASK=255.255.255.0 # 子网掩码,和Vmnet8的一样 GATEWAY=192.168.14.0 # 网关,和Vmnet8的一样 DNS1=114.114.114.114 # DNS地址1 DNS2=8.8.8.8 # DNS地址2,为什么要在这里配置DNS地址呢,其实应该在另一个地方配置,即/etc/resolv.conf这个文件里,但是由于主机重启或者网络重启的时候这个文件经常被自动重置,导致主机连不上网,所以干脆直接写在这里了,在这里的话每次重启都会把这两个DNS地址自动拼接到resolv.conf那个文件中3.2、修改网卡名
CentOS 6 默认的网卡名是eth0往上走,CentOS 7 默认的网卡名是ens33往上走,为什么要修改网卡名呢,因为自动化运维的时候需要所有的服务器网卡名称统一,当然如果你是自己玩,那么就不用修改网卡名了,下面的步骤也不用执行了;
3.2.1、重命名网卡名称# 进入/etc/sysconfig/network-scripts/目录 cd /etc/sysconfig/network-scripts/ # 修改名称 mv ifcfg-ens33 ifcfg-eth0 # 修改ifcfg-etho文件内容 vi ifcfg-eth0 #在文件中修改如下两处 NAME=eth0 DEVICE=eth03.2.2、修改并重新生成grub配置(Linux的启动引导配置)
# 修改/etc/sysconfig/grub文件的内容 vi /etc/sysconfig/grub # 在GRUB_CMDLINE_LINUX的值中添加如下内容 net.ifnames=0 biosdevname=0 # 表示按照eth0网卡启动网络配置
# 重新生成配置并更新内核参数 grub2-mkconfig -o /boot/grub2/grub.cfg3.2.3、添加udev规则修改网卡逻辑名称
# 进入/etc/udev/rules.d目录
cd /etc/udev/rules.d
# 手动生成70-persistent-net.rules
vi 70-persistent-net.rules
# 添加如下内容
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="自己的MAC地址",ATTR{type}=="1",KERNEL=="eth*",NAME="eth0"
3.3、关闭防火墙
systemctl stop firewalld.service # 停止防火墙 systemctl disable firewalld.service # 禁止防火墙开机启动 systemctl mask firewalld.service # 注销防火墙3.4、关闭SELINUX
# 修改/etc/selinux/config文件,将SELINUX=enforcing改成SELINUX=disabled vi /etc/selinux/config # 查看selinux状态 sestatus
重启网络服务service network restart;
重启系统reboot;
然后 ping或者crul 一下百度等等,再在 Windows 系统上 ping 一下 Linux 主机,能 ping 通,能下载,就代表网络已经配置完成了。



