Linux有许多管理网络属性的命令但基本都是只能临时有效,想要永久有效就要更配其配置文件。现在,让我们来看看有哪些关于网络配置的配置文件。
配置文件:
IP/NETMASK/GW/DNS等属性的配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE #新增网卡要自行创建
IFACE:接口名称
路由的相关配置文件:/etc/sysconfig/network-script/route-IFACE #自行创建
配置文件: /etc/sysconfig/network-scripts/ifcfg-IFACE 通过大量参数来定义接口的属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令进行修改(CentOS 6:system-config-netwokr (setup), CentOS 7:nmtui )
ifcfg-IFACE配置文件参数:
DEVICE:此配置文件对应的设备的名称;
ONBOOT:在系统引导过程总,是否激活此接口;
UUID:此设备的唯一标识;
IPV6INIT:是否初始化IPV6;
!!! BOOTPROTO:激活此接口时使用寿命协议来配置接口属性,常用的有dhcp,bootp,static,none
TYPE:接口类型,常见的有Ethernet,Bridge
DNS1: 第一DNS服务器指向;
DNS2:第二DNS服务器指向;(dns一般有3个)
DOMAIN:DNS搜索域;
IPADDR: IP地址
NETMASK: 子网掩码 CentOS 7 支持使用PREFIX以长度方式指明子网掩码
GATEWAY:默认网关
USERCTL: 是否允许普通用户控制此设备;
PEERDNS: 若果BOOTPTOYO的值为"dhcp",是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器;默认为允许
HWADDR:设备的MAC地址;
NM_CONTROLLED:是否使用NetworkManager服务器来控制接口;
一般来说只要三个就能满足其基本功能
更改配置文件一般要重新其服务才能让内核重新识别
CentOS 6 和 CentOS 7的命令是不一样的
CentOS6为 service network {start|stop|restart|status}
CentOS7为 systemctl {start|stop|restart|status} network.service (service可以忽略)
用到非默认网关路由:/etc/sysconfig/network-scripts/route-IFACE
支持两种配置方式,但不可混用;
(1)每行一个路由条目:
TARGET via GW
(2)每三行一个路由条目
ADDRESS#=TARGET
NETMASK#=MASK
GATEWAY#=NETHOP
ip route add 10.0.0.0/8 via 192.168.10.1
ip route list
systemctl restart network.service
想要永久有效在/etc/sysconfig/network-scripts下创建route-eno33554984
(1)10.0.0.0/24 via 192.168.10.1
systemctl restart network.service
两种方式不能混同
(2)ADDRESS0=20.0.0.0
NETMASK0=255.0.0.0
GATEWAY0=192.168.10.2
systemctl restart network.service
/etc/hosts :域名解析库
系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。
[root@alpha ~]#cat /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.200.7 www.baidu.com good #定义IP地址和域名
/etc/resolv.conf的关键字主要有四个,分别是:
nameserver //定义DNS服务器的IP地址
domain //定义本地域名
search //定义域名的搜索列表
sortlist //对返回的域名进行排序
[root@alpha ~]#cat /etc/resolv.conf
# Generated by NetworkManager
search day
# No nameservers found; try putting DNS servers into your
# ifcfg files in /etc/sysconfig/network-scripts like so:
#
# DNS1=xxx.xxx.xxx.xxx
# DNS2=xxx.xxx.xxx.xxx
# DOMAIN=lab.foo.com bar.foo.com
设定主机名
在centos6中,
hostname :查看主机名
hostname HOSTNAME:更改主机名,临时的
/etc/sysconfig/network #更改HOSTNAME让主机名永久生效。并重启计算机配置文件读入内核显示
[root@nieqiping ~]#cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=nieqiping.com
centos7中
hostname依然可以查看显示主机名,但hostnamectl可以直接更改配置文件/etc/hostname
hostnamectl status:查看主机名状态
hostnamectlset-hostname HOSTNAME:更改主机名
CentOS 7 专有命令
nmcli命令:用来取代ifconfig的,centos6上支持的选项不多,centos7使用较好
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device – show and manage network interfaces #查看并管理网络接口
COMMAND: ={status|show|connect|disconect|delete|wifi|wimax}
nmcli device show #查看网卡详细信息
nmcli device status #查看网卡状态信息
nmcli device disconnect eno33554984 #显示单个网卡信息
nmcli device connect eno33554984 #显示单个网卡状态信息
connection -start,stop ,and manage network connections#网卡状态连接管理
COMMAND:={show| up | down | add | edit | modify | delete | reload | load }
nmcli connection show #显示网卡信息,但不包括IP地址
nmcli connection down en033554984:禁用
connection子命令
modify [id| uuid | path ] <ID> [+|-] <setting>.<property><value>
nmcli modefy modify eno33554984 +ipv4.adress 192.168.100.254/24
如何修改IP地址等属性:
#nmcli connection modify IFACE [+|-]setting.property value
ipv4.address
ipv4.gateway
ipv4.dns1
ipv4.method :配置方法
manual:静态地址