Linux网卡配置
网卡配置文件
配置文件路径:/etc/sysconfig/network-scripts
单网卡独立配置比较重要的就是DEVICE指定网卡名,ONBOOT启用网卡,BOOTPROTO指定协议,配置静态IP则需要配置IPADDR指定,IPGATEWAY配置网关,NETMASK配置掩码,dhcp动态不需要自动获取。
TYPE=Ethernet # 网络类型:Ethernet以太网
BOOTPROTO=none # 引导协议:static静态、dhcp动态获取、none不指定
DEFROUTE=yes # default route,是否把这个eth设置为默认路由
DEVICE=ens33 # 网卡的设备名称
NAME=ens33 # 网卡设备的别名
ONBOOT=yes # 开机自动启动网卡
DNS=114.114.114.114 # DNS域名解析服务器的IP地址 可设置一个DNS1、DNS2
IPADDR=192.168.1.22 # 网卡的IP地址,dhcp不写
PREFIX=24 # 子网前缀长度
GATEWAY=192.168.1.1 # 默认网关IP地址
NETMASK=255.255.255.0 # 子网掩码
IPV4_FAILURE_FATAL=no # 不启用IPV4错误检测功能,如果为yes,配置失败时禁用该设备
IPV6INIT=yes # 启用IPV6协议
IPV6_AUTOCONF=yes # 自动配置IPV6地址
IPV6_DEFROUTE=yes # 启用IPV6默认路由
IPV6_FAILURE_FATAL=no # 不启用IPV6错误检测功能,如果为yes,配置失败时禁用该设备
UUID=sjdfga-asfd-asdf-asdf-f82b # 网卡设备的UUID唯一标识号
单网卡双IP和双网卡双IP
VLAN(Virtual Local Area Network)即虚拟局域网,是将一个物理的LAN在逻辑上划分成多个广播域的通信技术。
每个VLAN是一个广播域,VLAN内的主机间可以直接通信,而VLAN间则不能直接互通。这样,广播报文就被限制在一个VLAN内。
配置双IP需要两个IP是同一VALN,否则两个IP需要各自配置不同的网关,即使表面上两个IP在同一网段,也不能使用同一网关。
以下配置默认IP在同一VALN:
单网卡双IP
这个配置只需要将eth0网卡的配置复制一份改为eth0:1,在网卡配置中将NAME和DEVICE改为eth0:1,IP改为第2个IP,然后重启eth0网卡即可,网关掩码等配置都无需更改,等同于在eth0网卡上再追加一个IP,第2个IP的网卡文件和网卡名是eth0:1相当于eth0的的附加文件。
双网卡双IP
正常配置即可,同一网段的IP掩码一致,同一valn可以使用同一网关。
网卡限速 -- wondershaper
wondershaper 实际上是一个 shell 脚本,它使用 tc 来定义流量调整命令,使用 QoS 来处理特定的网络接口。外发流量通过放在不同优先级的队列中,达到限制传出流量速率的目的;而传入流量通过丢包的方式来达到速率限制的目的。
安装
yum -y install wondershaper
限制的单位是Kbps,1KB/s=8Kb/s。1MB/s=1024KB/s。
所以限速1MB的值应该是8192,实测限制过后速度只能达到900多KB将近1000KB的下载速度,也就是略低于1MB,差距不大。
同时限行上下行速度,第一个值下行,第二个值上行。
示例:以下是下载不会超过500KB,上传不会超过1MB。
wondershaper eth0 4096 8192
清除限制
wondershaper -c eth0
网卡合并 -- bond0
配置bond0逻辑网卡
vi /etc/sysconfig/network-scripts/ifcfg-bond0
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
NAME=bond0
DEVICE=bond0
ONBOOT=yes
BONDING_MASTER=yes
BONDING_OPTS="mode=0 miimon=100"
IPADDR=58.216.10.27
NETMASK=255.255.255.224
GATEWAY=58.216.10.1
IPADDR1=153.101.65.145
NETMASK1=255.255.255.224
GATEWAY=153.101.65.129
IPADDR2=36.153.62.11
NETMASK2=255.255.255.224
GATEWAY=36.153.62.1
DNS1=119.29.29.29
DNS2=223.5.5.5
mode=0是轮询方式,通常使用这种就可以了,多个网卡一起使用,能将多个网卡的带宽聚合到一起。
IPADDR、NETMASK、GATEWAY根据有几个IP就配置几组。
配置用于聚合的slave网卡
vi /etc/sysconfig/network-scripts/ifcfg-enp67s0f0
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
NAME=enp67s0f0
UUID=3c7112d6-aa93-4816-bc99-a9670730ba27
DEVICE=enp67s0f0
ONBOOT=yes
#IPADDR=58.216.10.27
#NETMASK=255.255.255.224
#GATEWAY=58.216.10.1
#DNS1=114.114.114.114
MASTER=bond0
USERCTL=no
SLAVE=yes
主要是最下面三行,两行吧,就是需要指定MASTER为bond0,开启SLAVE模式,作为slave网卡IP网关掩码这些都需要注释掉,网卡依旧需要是启用状态。
还有ifcfg-enp67s0f1或者更多的网卡全部照着这样配置即可。
修改配置并重启网卡
nmcli connection add type bond-slave ifname enp67s0f0 master bond0
nmcli connection add type bond-slave ifname enp67s0f1 master bond0
vi /etc/modprobe.d/bonding.conf
alias netdev-bond0 bonding
options bond0 miimon=100 mode=6
# 查看配置
nmcli connection
# 重启网卡
service network restart
重启网卡后会掉线,可能需要1分钟左右才能通网。绑定成功后查看配置示例: