linux网路配置
1. 虚拟机网络
接触linux服务器的朋友们,很少能避开虚拟机,笔者将在这里简单介绍虚拟机的网络配置
开启VMware之后,选择编辑
,可以看到虚拟网络编辑器
VMnet*这三个网络适配器(或者说虚拟机网卡),对于设置虚拟机网络至关重要。安装VMware workstation的时候,默认会安装3块虚拟网卡,分别是VMnet0、VMnet1、VMnet8。
虚拟网卡名 | 网络属性 | 定义 |
---|---|---|
VMnet0 | 物理网卡 | Bridge桥接 |
Vmnet1 | 虚拟网卡 | host-only仅主机 |
VMnet8 | 虚拟网卡 | NAT |
虚拟机网络配置有三种模式:Bridged桥接模式 、host-only仅主机模式、NAT模式。
-
VMnet0=eth2(Bridged)
Bridged桥接模式 :虚拟机相当于一台实体机,可以自由访问与被访问及上网 -
VMnet1=eth0(host-only)
host-only仅主机模式:虚拟机之间、主机与虚拟机之间互访,但虚拟机无法访问外网 -
VMnet8=eth8(nat)
NAT模式:虚拟机之间、主机与虚拟机之间互访,虚拟机可以通过主机访问外网,外网无法访问虚拟机
下面将详细介绍各种模式:
1.1 桥接模式
在桥接模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机(主机和虚拟机处于对等地位),它可以访问网内任何一台机器。在桥接模式下,我们往往需要为虚拟主机配置IP地址、子网掩码等(注意虚拟主机的ip地址要和主机ip地址在同一网段
)。
使用桥接模式的虚拟系统和主机的关系,就如同连接在一个集线器上的两台电脑;要让他们通讯就需要为虚拟系统配置ip地址和子网掩码。如果我们需要在局域网内建立一个虚拟服务器,并为局域网用户提供服务,那就要选择桥接模式。 但对于想进行种种网络实验的朋友这种模式是不太适合的,因为你无法对虚拟机的网络进行控制,它直接出去了。
1. 虚拟机中的Bridget桥接模式:
- 默认使用Vmnet0,不提供DHCP服务
- 虚拟机与物理机在同一个网段上,相当于一个独立的主机。
- 既能与局域网内的主机通讯,也能与外部网络通信。
- 容易与局域网其他主机引起ip地址冲突。
2. 使用桥接模式配置虚拟机网络
一、虚拟机设置:
选择VMnet0(桥接模式)
在首次创建虚拟机系统的时候,可以选择网络模式,而非必须在虚拟网络编辑器
中设置,例如:
二、系统设置
[root@swarm-worker ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
#BOOTPROTO=dhcp
DEFROUTE=yes
#IPV4_FAILURE_FATAL=no
NAME=ens33
UUID=01a121f0-4398-4079-b6d5-d0faf3b80b2e
DEVICE=ens33
#ONBOOT=no
IPADDR=192.168.70.183
GATEWAY=192.168.70.1
NETMASK=255.255.255.0
1.2 NAT模式
NAT是英文Network Address Translation的简写,中文意思为”网络地址转换“。它是一个IETF标准,允许一个整体单位机构以一个公用IP地址出现在互联网上。通俗讲就是把公司所有的电脑都能在一个公用IP地址下使用,能够一定程度上解决局部公用IP地址不足问题。
1. 虚拟机中的NAT模式:
- 默认使用VMnet8,提供DHCP服务。
- 可以与物理机互相访问,也可访问外部网络。
- 不能访问局域内其他机器或被访问。
- 不会与局域网内其他ip地址发生冲突。
2. 使用NAT模式配置虚拟机网络
一、虚拟机设置:
-
- 选择VMnet8(NAT模式)
-
- 勾选
将主机虚拟适配器连接到此网络
- 勾选
-
- 配置
NAT 设置
中的网关IP,此处默认即可,记住这个网关,后面在系统中配置会使用
- 配置
二、windows设置
三、系统设置(centos7):
-
- 进入系统后,通过
ip a
查看网卡名称
第一个是回环地址,忽略掉,第二个ens33才是[root@zabbix-svr-2 ~]# ip a 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000 link/ether 00:0c:29:36:09:84 brd ff:ff:ff:ff:ff:ff inet 192.168.107.183/24 brd 192.168.107.255 scope global noprefixroute ens33 valid_lft forever preferred_lft forever
- 进入系统后,通过
-
- 编辑文件
/etc/sysconfig/network-scripts/ifcfg-ens33
- 编辑文件
[root@zabbix-svr-2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
NAME=ens33
UUID=d7519cdd-2e61-469f-86e4-08143d446c92
DEVICE=ens33
ONBOOT=yes
BOOTPROTO=static
IPADDR=192.168.107.183
GATEWAY=192.168.107.2
NETMASK=255.255.255.0
-
- 配置完成,重启网络服务
[root@zabbix-svr-2 ~]# systemctl restart network
1.3 SCSI控制器(I/O)
SCSI控制器的英文名称是“Small Computer System Interface”,中文翻译为"小型计算机系统专用接口";顾名思义,这是为了小型计算机设计的扩充接口,它可以让计算机加装其他外设设备以提高系统性能或增加新的功能,例如硬盘、光驱、扫描仪等。
- BusLogic:是第一个被支持的SCSI控制器类型,适用于早期的Windows操作系统和其他一些老旧的操作系统。在性能方面,BusLogic相对较慢,因为它使用CPU软件仿真来处理I/O请求。
- LSI Logic:是一种较新的SCSI控制器类型,适用于大多数现代操作系统和应用程序。与BusLogic相比,LSI Logic使用更先进的技术来处理I/O请求,具有更好的性能和可靠性。(推荐)
- LSI Logic SAS:是一种基于SAS架构的SCSI控制器,适用于需要高速存储和高并发I/O的应用场景。与LSI Logic相比,LSI Logic SAS提供了更高的带宽和更低的延迟。(推荐)
- Paravirtualized SCSI:是一种特殊类型的SCSI控制器,使用虚拟化技术来提高性能和效率。它可以通过直接访问物理设备来避免CPU软件仿真,提供更低的延迟和更高的吞吐量。
2. Centos7网络配置
与网络相关的文件
- /etc/sysconfig/network 用来配置系统初始化网络信息的,例如是否启动网络,主机名称,网关信息等。
- /etc/sysconfig/network-scripts/ifcfg-eth0 用于设置网络配置信息(IP地址,子网掩码,网关IP等)
- /etc/resolv.conf 该文件用于配置DNS服务器地址信息
- /etc/hosts 配置主机名和IP地址的映射
- /etc/sysconfig/network 配置所有网卡路由和主机信息
- /etc/sysconfig/network-scripts/route-IFACE 配置路由信息
- /etc/sysconfig/networking/ 这个文件夹里的东西都是给网络管理员工具(system-config-network)用的
配置文件修改属性/etc/sysconfig/network-scripts/ifcfg-[IFACE]
参数格式:
[PARAMETER]=[
option|OPTION]
注意事项:
- 参数只能大写
- 参数值只能是固定写法,但是大小写均可以
[root@zabbix-svr-2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE=ETHERNET NAME=ENS33 BOOTPROTO=STATIC UUID=d7519cdd-2e61-469f-86e4-08143d446c92 DEVICE=ens33 ONBOOT=YES IPADDR=192.168.70.183 GATEWAY=192.168.70.1 NETMASK=255.255.255.0
等号(=)两边不可以加空格
参数:
TYPE=Ethernet #接口类型;常见有的 Ethernet(以太网卡) Bridge(网桥)
BOOTPROTO=none #BOOTPROTO=[none|static|bootp|dhcp](引导时不使用协议|静态分配|BOOTP协议|DHCP协议),dhcp 表示动态获取IP地址, static 表示静态IP,none表示不指定,就是静态。
DEFROUTE=yes #default route,是否把这个eth设置为默认路由
IPV4_FAILURE_FATAL=no #如果为yes,则ipv4配置失败禁用设备
IPV6INIT=yes #是否启用IPv6的接口
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no #如果ipv6配置失败禁用设备
NAME=xxxxx #网卡名
UUID=XXXX #设备的惟一标识
DEVICE=xxxxx #此配置文件应用到的设备
ONBOOT=yes #在系统引导时是否激活此设备
DNS1=8.8.8.8 #第一个DNS服务器指向
DNS2=192.168.1.1 #第二个DNS服务器指向
NETMASK=255.255.255.0 #子网掩码
IPADDR=192.168.1.8 #指明IP地址
PREFIX=24 #子网掩码24位,替换NETMASK的新格式,和netmask选择配置一个即可
GATEWAY=192.168.1.1 #默认网关
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_PRIVACY=no
HWADDR= #对应的设备的MAC地址
NM_CONTROLLED= #NM是NetworkManager的简写,此网卡是否接受NM控制;建议CentOS6为“no”,
USERCTL= #普通用户是否可控制此设备
常见配置:
[root@zabbix-svr-2 ~]# cat /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
NAME=ens33
BOOTPROTO=static
UUID=d7519cdd-2e61-469f-86e4-08143d446c92
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.70.183
GATEWAY=192.168.70.1
NETMASK=255.255.255.0
启动网络服务相关命令
systemctl restart network
systemctl start network
systemctl stop network
systemctl status network
3. Ubuntu网络配置
在Ubuntu系的Linux系统里,与网络相关的主要设置文件如下:
- /etc/host.conf 配置域名服务客户端的控制文件
- /etc/hosts 配置主机名和IP地址的映射
- /etc/resolv.conf 域名服务客户端的配置文件,指定域名服务器的IP地址
- /etc/network/interfaces 用于设置网络配置信息(IP地址,子网掩码,网关IP等)
- /etc/udev/rules.d/70-persistent-net.rules 记录主机中所有网卡的MAC地址
- /etc/xinetd.conf 定义了由进程守护程序xinetd所守护的网络服务
- /etc/networks 实现域名与网络地址的映射
- /etc/protocols 设定主机使用的协议及各个协议的协议号(协议ID)
- /etc/services 设定主机上各个网络服务进程所使用的端口号
3.1 networking(老方法)
常见配置:
root@ubuntu:~# cat /etc/network/interfaces
# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
source /etc/network/interfaces.d/*
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto ens33
iface ens33 inet static
address 192.168.72.140
netmask 255.255.255.0
gateway 192.168.72.1
修改DNS
root@lenovo-07:/etc# cat resolv.conf
# This file is managed by man:systemd-resolved(8). Do not edit.
...
# operation for /etc/resolv.conf.
nameserver 211.137.191.26
nameserver 223.5.5.5
重启服务
#刷新网络接口
root@lenovo-07:/etc/netplan# sudo ip addr flush eno1
#重启网络服务
root@lenovo-07:/etc/netplan# sudo systemctl restart networking.service
3.2 netplan(新方法)
在18.04以后,默认以netplan的方式配置网络,请参考:
Netplan
配置文件
root@lenovo-07:/etc/netplan# ls
01-network-manager-all.yaml
root@lenovo-07:/etc/netplan# cat 01-network-manager-all.yaml
network:
ethernets:
eno1: #网卡名字
dhcp4: no #是否自动配置ip
dhcp6: no #是否自动配置ipv6
addresses: [*.*.*.*/24] #IP地址用,隔开 / 后面的为子网
gateway4: *.*.*.1 #网关
nameservers:
addresses: [114.114.114.114,8.8.8.8] #设置DNS服务器,能上大部分网站,且有概率提升下载速度
# DHCP
eno2:
dhcp4: true
addresses: []
# Static
eno3:
addresses: [192.168.225.50/24]
dhcp4: no
dhcp6: no
gateway4: 192.168.225.1
nameservers:
addresses: [114.114.114.114,8.8.8.8]
version: 2
激活配置
root@lenovo-07:/etc/netplan# sudo netplan apply
或
root@lenovo-07:/etc/netplan# sudo netplan --debug apply # 此命令可查看配置生效情况,可根据提示进行修改调整