在以往Linux的使用中很少会涉及VLAN和网络的配置,因为多数的服务部署集中在应用层面而非底层网络(switch/route/vlan/interface),系统安装时默认生成的网络配置已经足够应对实际需求,近来需要部署一台服务器,涉及到众多VLAN的配置,因此重新梳理了下Linux系统在网络层面配置的基础内容,在常见的Linux发行版中CentOS类系统和Debain类系统在网络配置理念以及相应的实现上存在一定的区别,网络上流传的资料中则混淆了两者,也许之前的两类发行版确实存在配置的兼容性,但在两类系统的自我风格越来越明显的今天,很有必要对上述两类发行版区别对待了解其各自的配置理念和方法。
1.udev - Linux dynamic device management
本人至今没有关于udev
的准确认知,只是大概的理解为Linux内核目前采用的设备文件管理方案,不满意这个解释的同学可以自行搜索资料,最简易的方法就是直接man udev
查看udev的man手册,在udev的使用上各个发行版没有差别,毕竟使用的都是Linux内核,udev管理配置计算机所有可以称之为设备的设备,网络接口设备(俗称网卡)只是其中之一,udev使用所谓的rules文件描述和记录设备信息,网络设备rules文件名为70-persistent-net.rules
,固定存储路径为/etc/udev/rules.d/70-persistent-net.rules
,该文件内容格式如下:
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:13:99:70", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="oam"
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:25:90:13:99:71", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="traffic"
文件中的item描述对应的physical network interface信息,从上述文件的描述中可以看出该系统有两块物理网卡,并使用NAME
参数定义了接口在系统中的名字,因此该文件最常见的应用是自定义物理接口名字,一般网络接口会被系统命令为eth<n>
的形式,在上述描述中第一块网口被命名为oam
,第二块则命名为traffic
。
该命名会显示在ifconfig -a
命令回显的接口列表中,一般情况下,更改完70-persistent-net.rules
文件后,CentOS类系统使用service network restart
生效该设置,Debain类系统使用service networking restart
生效该设置&#