CentOS6用文件配置IP模板
到 CentOS6.9 , 默认还不能用 systemctl
, 能用 service
chkconfig sshd on
对应 systemctl enable sshd
启用,开机启动该服务
### chkconfig sshd on 对应 systemctl enable sshd 启用,开机启动该服务
sudo chkconfig sshd on
service sshd start
对应 systemctl start sshd
启动该服务
### service sshd start 对应 systemctl start sshd 启动该服务
sudo service sshd start
service network restart
对应 systemctl restart network
重启该服务
### service network restart 对应 systemctl restart network 重启该服务
sudo service network restart
如果最小版系统装好后, 又添加新网卡, /etc/sysconfig/network-scripts
里面没有出现对应的配置文件, 可以自己建, 取名 ifcfg-自定义
经测试, DEVICE
设备名可有可无, UUID也可以没有, 只要HWADDR
硬件地址MAC正确即可, 即便取名test, 也可以用ifup test
加载网卡, 但如果配置文件取名test
, 那么即便ONBOOT=yes
也不会开机加载, 但配置文件取名ifcfg-test
就能正常启动时加载
复制粘贴进入/etc/sysconfig/network-scripts
文件夹
cd /etc/sysconfig/network-scripts
240726 CentOS-6.10-x86_64-minimal , vmware17.5.2
IPv4
IPv6
对应生成的 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=06e38d19-c10a-4f70-ba68-d4a6ec1f6977
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=1.6.2.1
PREFIX=8
GATEWAY=1.0.0.2
IPADDR2=1.6.2.2
PREFIX2=8
GATEWAY2=1.0.0.2
IPADDR3=1.6.2.3
PREFIX3=8
GATEWAY3=1.0.0.2
DNS1=223.6.6.6
DNS2=180.76.76.76
DNS3=119.29.29.29
DNS4=223.5.5.5
DOMAIN="baidu.com cn.bing.com sogou.com"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
NAME="System eth0"
IPV6_AUTOCONF=no
IPV6_DEFAULTGW=1::1
IPV6ADDR=1::c610:2:1/32
IPV6ADDR_SECONDARIES="1::c610:2:2/32 1::c610:2:3/32"
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
HWADDR=00:0C:29:46:09:98
DNS5=240c::6666
DNS6=240c::6644
DNS7=2400:3200::1
DNS8=2400:3200:baba::1
DNS9=2100:4860:4806::8888
DNS10=2001:4860:4860::8844
eth1未进行任何设置, 对应的/etc/sysconfig/network-scripts/ifcfg-eth1
内容为:
DEVICE=eth1
HWADDR=00:0C:29:46:09:A2
TYPE=Ethernet
UUID=3b8de08d-35d2-423a-bd34-86f87a6b4c21
ONBOOT=no
NM_CONTROLLED=yes
BOOTPROTO=dhcp
240724 CentOS-6.0-x86_64-minimal , vmware两网卡, 在安装界面配置, 一块只勾选启用, 一块设置Ipv4和ipv6
240724 CentOS-6.0-x86_64-minimal , vmware两网卡, 在安装界面配置, 一块只勾选启用该网卡, 另一块设置Ipv4和ipv6
cat /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE="eth0"
NM_CONTROLLED="yes"
ONBOOT=yes
HWADDR=00:0C:29:CF:4B:CD
TYPE=Ethernet
BOOTPROTO=dhcp
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
UUID=5fb06bd0-0bb0-7ffb-45f1-d6edd65f3e03
cat /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE="eth1"
NM_CONTROLLED="yes"
ONBOOT=yes
TYPE=Ethernet
BOOTPROTO=none
IPADDR=1.60.1.1
PREFIX=8
GATEWAY=1.0.0.2
IPADDR2=1.60.1.2
PREFIX2=8
IPADDR3=1.60.1.3
PREFIX3=8
DNS1=180.76.76.76
DNS2=223.6.6.6
DNS3=119.29.92.29
DOMAIN="baidu.com bing.cn.com"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=yes
NAME="System eth1"
UUID=9c92fad9-6ecb-3e6c-eb4d-8a47c6f50c04
HWADDR=00:0C:29:CF:4B:D7
IPV6_AUTOCONF=no
IPV6ADDR=1::ce60:1:1/32
IPV6ADDR_SECONDARIES="1::ce60:1:2/32 1::ce60:1:3/32"
DNS4=2400:3200::1
DNS5=2400:3200:baba::1
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=yes
240712 CentOS-6.9-x86_64-minimal , 在用vmware安装好后, 又新增一块网卡
新增网口后, 进入/etc/sysconfig/network-scripts
文件夹, 没有看到有多出来的网卡配置文件 , 就用ip addr
查看到新网卡的硬件地址MAC, 然后vi test
创建一个文件,
内容为:
HWADDR=00:0c:29:9b:6f:c4
TYPE=Enthernet
NM_CONTROLLED="yes"
ONBOOT=yes
BOOTPROTO=static
#BOOTPROTO=none
#BOOTPROTO=dhcp
#BOOTPROTO=bootp
IPADDR=1.69.1.11
PREFIX=8
NETMASK=255.0.0.0
GATEWAY=1.0.0.2
IPADDR2=1.69.1.12
PREFIX2=8
GATEWAY2=1.0.0.2
IPADDR3=1.69.1.13
PREFIX3=8
DNS1=180.76.76.76
DNS2=119.29.29.29
DNS3=223.6.6.6
DOMAIN="baidu.com qq.com 163.com"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="MyConfig eth1"
保存后执行 ifup test
, 发现可以使用 , 但是重启后不加载,
于是将配置文件名由test
改名为ifcfg-test
就能自动启动加载了,
继续改名为if-test
又不行了, 改为ifcfg-test1
又可以了, 可见:前缀ifcfg-
是必备.
取名ifcfg-test1
后, 能用ifup test1
和ifdown test1
操作网卡, 尽管ip addr
看到的网卡名是eth1
另外
有没有NETMASK
也不影响, 因为已经用PREFIX
设置
UUID
也可以没有
DEVICE
也可以没有, 只要有HWADDR
设置MAC即可
DEVICE
网卡接口名 和 HWADDR
网卡硬件地址MAC , 可以都有, 也可以只有一个
240710 , CentOS-6.9-x86_64-bin-DVD1 , 在安装过程界面配置IP后, 对应生成的文件
运行在vmware17.5上 , 设置了3块虚拟网卡:eth0,eth1,eth2. 均为nat网络地址转换
[z@1235vm-c69w network-scripts]$ ls
ifcfg-eth0 ifcfg-lo ifdown-eth ifdown-ipv6 ifdown-ppp ifdown-tunnel ifup-bnep ifup-ippp ifup-plip ifup-ppp ifup-tunnel net.hotplug
ifcfg-eth1 ifdown ifdown-ib ifdown-isdn ifdown-routes ifup ifup-eth ifup-ipv6 ifup-plusb ifup-routes ifup-wireless network-functions
ifcfg-eth2 ifdown-bnep ifdown-ippp ifdown-post ifdown-sit ifup-aliases ifup-ib ifup-isdn ifup-post ifup-sit init.ipv6-global network-functions-ipv6
[z@1235vm-c69w network-scripts]$ cat ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
UUID=f7bdafe2-38e3-4184-b435-2c0173ca0098
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=dhcp
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth0"
HWADDR=00:0C:29:08:7E:D8
PEERDNS=yes
PEERROUTES=yes
DHCP_CLIENT_ID=1.0.0.2
[z@1235vm-c69w network-scripts]$ cat ifcfg-eth1
DEVICE=eth1
TYPE=Ethernet
UUID=3247d76c-bdba-436c-b38a-9d30802e9c1a
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=1.69.1.10
PREFIX=8
GATEWAY=1.0.0.2
IPADDR2=1.69.1.11
PREFIX2=8
GATEWAY2=1.0.0.2
IPADDR3=1.69.1.12
PREFIX3=8
IPADDR4=1.69.1.13
PREFIX4=8
DNS1=180.76.76.76
DNS2=119.29.29.29
DNS3=223.6.6.6
DNS4=223.5.5.5
DNS5=8.8.8.8
DNS6=9.9.9.9
DNS7=114.114.114.114
DOMAIN="baidu.com qq.com 163.com"
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=no
NAME="System eth1"
HWADDR=00:0C:29:08:7E:E2
[z@1235vm-c69w network-scripts]$ cat ifcfg-eth2
DEVICE=eth2
TYPE=Ethernet
UUID=c2f607ca-8ced-4eba-a8ef-97a2a1e3fc46
ONBOOT=yes
NM_CONTROLLED=yes
BOOTPROTO=none
IPADDR=1.69.1.20
PREFIX=8
GATEWAY=1.0.0.2
DNS1=180.76.76.76
DNS2=119.29.29.29
DNS3=223.6.6.6
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="System eth2"
HWADDR=00:0C:29:08:7E:EC
[z@1235vm-c69w network-scripts]$
240709 , CentOS-6.9-x86_64-LiveDVD , 在图形界面配置IP后, 对应生成的文件
运行在vmware17.5上 , 设置了3块虚拟网卡:eth0,eth1,eth2. 均为nat网络地址转换,
用图形界面设置的第三块,
对应生成的文件名为: ifcfg-Auto_eth2
cd /etc/sysconfig/network-scripts
[z@localhost network-scripts]$ ls
ifcfg-Auto_eth2 ifdown ifdown-eth ifdown-ippp ifdown-isdn ifdown-ppp ifdown-sit ifup ifup-bnep ifup-ib ifup-ipv6 ifup-plip ifup-post ifup-routes ifup-tunnel init.ipv6-global network-functions
ifcfg-lo ifdown-bnep ifdown-ib ifdown-ipv6 ifdown-post ifdown-routes ifdown-tunnel ifup-aliases ifup-eth ifup-ippp ifup-isdn ifup-plusb ifup-ppp ifup-sit ifup-wireless net.hotplug network-functions-ipv6
[z@localhost network-scripts]$ cat ifcfg-Auto_eth2
HWADDR=00:0C:29:08:7E:EC
TYPE=Ethernet
BOOTPROTO=none
IPADDR=1.69.1.30
PREFIX=8
GATEWAY=1.0.0.2
IPADDR2=1.69.1.31
PREFIX2=8
GATEWAY2=1.0.0.2
IPADDR3=1.69.1.32
PREFIX3=8
GATEWAY3=1.0.0.3
IPADDR4=1.69.1.33
PREFIX4=8
IPADDR5=1.69.1.34
PREFIX5=8
DNS1=180.76.76.76
DNS2=119.29.29.29
DNS3=223.5.5.5
DNS4=223.6.6.6
DNS5=8.8.8.8
DNS6=9.9.9.9
DNS7=114.114.114.114
DOMAIN="baidu.com qq.com 163.com"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Auto eth2"
UUID=df9323e9-c420-4d38-9290-c737a1619569
ONBOOT=yes
LAST_CONNECT=1720485647
[z@localhost network-scripts]$
文件内容:
HWADDR=00:0C:29:08:7E:EC
TYPE=Ethernet
BOOTPROTO=none
IPADDR=1.69.1.30
PREFIX=8
GATEWAY=1.0.0.2
IPADDR2=1.69.1.31
PREFIX2=8
GATEWAY2=1.0.0.2
IPADDR3=1.69.1.32
PREFIX3=8
GATEWAY3=1.0.0.3
IPADDR4=1.69.1.33
PREFIX4=8
IPADDR5=1.69.1.34
PREFIX5=8
DNS1=180.76.76.76
DNS2=119.29.29.29
DNS3=223.5.5.5
DNS4=223.6.6.6
DNS5=8.8.8.8
DNS6=9.9.9.9
DNS7=114.114.114.114
DOMAIN="baidu.com qq.com 163.com"
DEFROUTE=yes
IPV4_FAILURE_FATAL=yes
IPV6INIT=no
NAME="Auto eth2"
UUID=df9323e9-c420-4d38-9290-c737a1619569
ONBOOT=yes
LAST_CONNECT=1720485647
可看出, 一块网卡可设置多个ip, 用PREFIX
设置子网掩码 , 第二个ip用 IPADDR2
和PREFIX2
来设置ip和掩码, 以此类推,
网关也能设置多个, 第二个用GATEWAY2
, 第三个用GATEWAY3
DNS也能设置多个, DNS1
, DNS2
, DNS3
…
DOMAIN
用来设置"搜索域"
CentOS6 , /etc/sysconfig/network-scripts
下的网络配置文件属性说明
ONBOOT
ONBOOT
:这个是指开机的时候是否启动这个网卡,yes就是开机启动,no就是不启动。
取值:
yes
: 开机启动no
: 不启动
NM_CONTROLLED
NM_CONTROLLED
: NM代表NetworkManager, 原来CentOS6就有Network Manager了,
取值只有 yes
和 no
两个
yes
: 受 NetworkManager 的控制no
: 不受 NetworkManager 的控制
在 CentOS 6 中,网络配置主要通过 /etc/sysconfig/network-scripts/
目录下的接口配置文件(如 ifcfg-eth0
,其中 eth0
是网络接口的名称)进行管理。关于 NM_CONTROLLED
这个选项,它主要用于指示 NetworkManager 是否应该控制该网络接口。
NetworkManager 是一个网络配置和监控守护进程,它简化了在桌面和移动环境中的网络配置。在 CentOS 6 上,NetworkManager 可能不是所有系统安装的默认部分,尤其是服务器环境,但它经常被安装在桌面环境或作为可选组件安装。
在 /etc/sysconfig/network-scripts/ifcfg-eth0
或其他接口配置文件中,NM_CONTROLLED
选项可以设置为 yes
或 no
。
NM_CONTROLLED=yes
:这表示 NetworkManager 应该控制该网络接口。这通常在桌面环境中使用,或者在需要 NetworkManager 提供的高级网络管理功能时使用。NM_CONTROLLED=no
:这表示 NetworkManager 不应该控制该网络接口。这在服务器环境中很常见,当您希望直接通过/etc/sysconfig/network-scripts/
目录下的配置文件来管理网络时。
如果您的系统中安装了 NetworkManager,并且您希望确保 NetworkManager 不干扰通过传统配置文件管理的网络接口,您可以将 NM_CONTROLLED
设置为 no
。
请注意,随着 CentOS 7 及更高版本的发布,网络配置的方式发生了显著变化,NetworkManager 成为了更核心的网络管理工具,而传统的网络脚本配置方法虽然仍然可用,但不再是首选。然而,在 CentOS 6 中,直接编辑 /etc/sysconfig/network-scripts/
目录下的配置文件仍然是管理网络的标准方式。
BOOTPROTO
BOOTPROTO
属性取值有:
none
:手动指定IP地址、子网掩码、网关等网络配置信息,不使用DHCP协议进行自动获取。static
:手动指定IP地址、子网掩码、网关等网络配置信息,但是需要使用DHCP服务器分配DNS服务器地址。dhcp
:使用DHCP协议(TCP)自动获取IP地址、子网掩码、网关、DNS服务器等网络配置信息。bootp
:使用BOOTP协议(UDP)自动获取IP地址、子网掩码、网关等网络配置信息。
手动指定固定静态IP可以选择none
或static
;自动IP选择dhcp
或bootp
。
HWADDR
HWADDR
网卡硬件地址 MAC
HWADDR
硬件地址 和 DEVICE
设备接口名称, 可以只有一个, 也可以都有
DEVICE
DEVICE
设备名称,接口名称, :如 ens33, eth0
HWADDR
硬件地址 和 DEVICE
设备接口名称, 可以只有一个, 也可以都有
TYPE
TYPE
: 网卡类型
取值:
Ethernet
: 以太网
IPADDR , IPADDR2 , IPADDR3 … IPADDR999 设置ipv4地址
IPADDR
IP地址 , 可以设置多个, 从第二个起分别为 IPADDR2 , IPADDR3 , IPADDR4…IPADDR999
ipv6的第一个IP用IPV6ADDR
设置, 从第二个之后,都写在IPV6ADDR_SECONDARIES
里, 以空格分隔
ipv4的地址和掩码分开写在两个属性中, ipv6的ip和掩码写在一起
IPV6ADDR 和 IPV6ADDR_SECONDARIES 设置ipv6地址和掩码
IPV6ADDR
设置ipv6的第一个地址和掩码 如: IPV6ADDR=1::c610:2:1/32
IPV6ADDR_SECONDARIES
设置IPv6的的第二个及之后的所有地址, 以空格分隔
如: IPV6ADDR_SECONDARIES="1::c610:2:2/32 1::c610:2:3/32 1::c610:2:4/32 1::c610:2:5/32"
ipv4的地址和掩码分开写在两个属性中, ipv6的ip和掩码写在一起
PREFIX 设置ipv4的掩码
PREFIX
和 NETMASK
都用于设置ipv4的掩码
PREFIX
对应单个IPADDR的掩码长度 , PREFIX2对应IPADDR2 , PREFIX3对应IPADDR3 , 以此类推
值为数字1~32 , 另外也可用 NETMASK
设置总掩码
NETMASK 设置ipv4的掩码
PREFIX
和 NETMASK
都用于设置ipv4的掩码
NETMASK
设置掩码, 当只有一个ip时,可用其设置掩码
也可用 PREFIX
设置掩码
如 NETMASK 255.255.255.0 对应 PREFIX 24 , NETMASK 255.0.0.0 对应 PREFIX 8
GATEWAY , GATEWAY2 , GATEWAY3 … IPv4的网关
GATEWAY , GATEWAY2 , GATEWAY3 … IPv4的网关可以多个
IPV6_DEFAULTGW ipv6的网关
IPV6_DEFAULTGW ipv6的网关只能设置一个
IPV4_FAILURE_FATAL 和 IPV6_FAILURE_FATAL
IPV4_FAILURE_FATAL
对应图形界面的 “需要IPV4地址完成这个连接”
取值:
yes
需要IPV4地址完成这个连接 ,no
不需要IPV4地址完成这个连接 ,
同理, IPV6_FAILURE_FATAL
用于ipv6
DEFROUTE 和 IPV6_DEFROUTE
DEFROUTE
yes|no 是否将本网络接口作为IPv4的默认路由IPV6_DEFROUTE
yes|no 是否将本网络接口作为IPv6的默认路由
DEFROUTE和IPV6_DEFROUTE在Linux网络配置中扮演着重要的角色,它们分别用于指示IPv4和IPv6网络配置中的默认路由设置。以下是对这两个参数的详细解释:
DEFROUTE
定义与功能:
- DEFROUTE是Linux网络配置中的一个参数,用于指定某个网络接口是否应该被用作默认路由。
- 当DEFROUTE设置为"yes"时,表示该网络接口被配置为默认路由接口,系统将通过该接口发送所有非本地网络的数据包。
- 这个参数通常出现在网络接口的配置文件中,如
/etc/sysconfig/network-scripts/ifcfg-*
(在Red Hat及其衍生版本中)或/etc/network/interfaces
(在较旧的Debian/Ubuntu版本中)。
配置示例:
在Red Hat或CentOS系统中,网络配置文件可能如下所示:
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
GATEWAY=192.168.1.1
在这个例子中,DEFROUTE=yes
表明eth0
接口被配置为默认路由接口。
IPV6_DEFROUTE
定义与功能:
- IPV6_DEFROUTE是Linux网络配置中针对IPv6的一个参数,其功能与DEFROUTE相似,但专门用于IPv6网络。
- 当IPV6_DEFROUTE设置为"yes"时,表示该网络接口被配置为IPv6的默认路由接口。
- 这个参数同样出现在网络接口的配置文件中,用于IPv6网络的配置。
配置示例:
在支持IPv6的Linux系统中,网络配置文件可能包含如下IPv6相关的配置:
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.1.100
PREFIX=24
IPV6ADDR=2001:db8::100/64
IPV6_DEFAULTGW=2001:db8::1
在这个例子中,IPV6_DEFROUTE=yes
表明eth0
接口也被配置为IPv6的默认路由接口。
IPV6ADDR 和 IPV6ADDR_SECONDARIES 设置ipv6地址和掩码
IPV6ADDR
设置ipv6的第一个地址和掩码 如: IPV6ADDR=1::c610:2:1/32
IPV6ADDR_SECONDARIES
设置IPv6的的第二个及之后的所有地址, 以空格分隔
如: IPV6ADDR_SECONDARIES="1::c610:2:2/32 1::c610:2:3/32 1::c610:2:4/32 1::c610:2:5/32"
ipv4的地址和掩码分开写在两个属性中, ipv6的ip和掩码写在一起
IPV6ADDR_SECONDARIES
IPV6ADDR_SECONDARIES
在 Linux 系统的网络配置中,特别是在使用基于 Red Hat 的系统(如 CentOS、Fedora 等)时,用于指定一个或多个辅助的 IPv6 地址。这些地址与主 IPv6 地址(通过 IPV6ADDR
指定)一起配置在网络接口上。
主要用途
- 在网络接口上配置多个 IPv6 地址时,除了主地址外,还可以指定一个或多个辅助地址。
- 这些辅助地址可以用于不同的网络应用或服务,或者用于实现特定的网络功能(如负载均衡、地址冗余等)。
配置方法
在 Linux 系统中,通常通过编辑网络接口的配置文件来设置 IPV6ADDR_SECONDARIES
。这些文件通常位于 /etc/sysconfig/network-scripts/
目录下,文件名以 ifcfg-
开头,后跟网络接口的名称(如 eth0
、ens3
等)。
以下是一个配置示例(以 CentOS 系统为例):
# 编辑网络接口配置文件
vi /etc/sysconfig/network-scripts/ifcfg-eth0
# 添加或修改以下行
DEVICE=eth0
BOOTPROTO=static
ONBOOT=yes
IPV6INIT=yes
IPV6ADDR=2001:db8:1000::100/64
IPV6_AUTOCONF=no # 如果不希望自动配置IPv6地址,可以设置为no
IPV6ADDR_SECONDARIES="2001:db8:1000::200/64 2001:db8:1000::300/64" # 指定辅助IPv6地址
# 保存并关闭文件
# 重启网络服务或接口以使配置生效
systemctl restart network
# 或者对于某些系统,可能需要使用
ifdown eth0 && ifup eth0
注意事项
- 在配置多个 IPv6 地址时,请确保所有地址都在有效的 IPv6 子网内。
IPV6_AUTOCONF
的设置取决于你是否希望系统自动配置 IPv6 地址。如果设置为yes
,则系统可能会尝试从本地网络自动获取 IPv6 地址,这可能会覆盖你在配置文件中手动设置的地址。- 重启网络服务或接口后,可以使用
ip addr show
命令来验证 IPv6 地址是否已正确配置。
结论
IPV6ADDR_SECONDARIES
是一个在 Linux 系统网络配置中用于指定辅助 IPv6 地址的参数。通过编辑网络接口的配置文件并添加相应的行,可以轻松地为网络接口配置多个 IPv6 地址。