Linux网络相关配置文件
Linux网络配置相关的文件根据不同的发行版目录名称有所不同,但大同小异,主要有似下目录或文件。
(1)/etc/hostname:主要功能在于修改主机名称。
(2)/etc/sysconfig/network-scrips/ifcfg-enoN:是设置网卡参数的文件,比如IP地址、子网掩码、网关等,N为一串数字。
(3)/etc/resolv.conf:此文件设置了DNS相关的信息,用于将域名解析到IP。
(4)/etc/hosts:计算机的IP对应的主机名称或域名对应的IP地址,通过设置/etc/nsswitch.conf中的选项可以选择是DNS解析优先还是本地设置优先。
(5)/etc/nsswitch.conf(name service switch configuration,名字服务切换配置):规定通过哪些途径,以及按照什么顺序通过这些途径来查找特定类型的信息。
配置网络
ifconfig命令可以用于查看、配置、启用或禁用指定网络接口,如配置网卡的IP地址、掩码、广播地址、网关等,Windows类似的命令为ipconfig。
语法如下:#ifconfig interface [[-net -host] address [parameters]]
其中inteface是网络接口名,address是分配给指定接口的主机名或IP地址。-net和-host参数分别告诉ifconfig将这个地址作为网络号或是主机地址。与之前版本的网卡命名规则不同,CentOS 7 采用固件信息、网络拓扑等信息来命名网卡,这种方法更易于固定网卡的名称。Linux系统中的网卡lo为本地环回接口,IP地址固定为127.0.0.1,子网掩码8位,表示本机。
ifconfig常见使用方法如下:
#查看网卡基本信息
[root@centos ~]# ifconfig
#命令后面可接网络接口用于查看指定网络接口的信息
[root@centos ~]# ifconfig eno16777736
eth016777736 fiags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet addr:192.168.111.136 Bcast:192.168.111.255 Mask:255.255.255.0
inet6 addr: fe80::20c:29ff:fec2:14a8/64 Scope:Link
ether00:0c:29:0b:07:76 txqueuelen1000
RX packets 851 boytes 75229 (73.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 561 bytes 100225 (97.8 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
说明:
第1行:UP表示此网络接口为启动状态,RUNNING表示网卡设备已连接,MULTICAST表示支持持组播,MTU为数据包最大传输单元。
第2行:依次为网卡IP、子网掩码、广播地址。
第3行:ipv6地址。
第4行:Ethernet(以太网)表示连接类型,ether为网卡的MAC地址。
第5行:接收数据包个数、大小统计信息。
第6行:异常接收包的数量,如丢包量,错误等。
第7行:发送数据包个数、大小统计信息。
第8行:异常发送包数量,如丢包量,错误等。
如果第6行和第8行中的丢包量、错误包量较高,通常表示物理链路存在问题。咧如网线干扰过大、距离太长等。
设置IP地址使用以下命令
#设置网卡IP地址
[root@centos ~]# ifconfig eno16777736:1 192.168.100.100 netmask 255.255.255.0 up
设置完后使用ifconifg命令查看,可以看到两个网卡信息了,分别为:eth0和eth1。如继续设置其他IP,可以使用类似的方法。
#更改网卡的MAC地址
[root@centos ~]# ifconfig eno16777736:1 hw ether 00:0c:29:0b:07:77
[root@centos ~]# ifconfig eno16777736:1 | grep ether
#将某个网络接口禁用
#使用另一种形式表示子网掩码
[root@centos ~]# ifconfig eno16777736:1 192.168.100.170、24 up
[root@centos ~]# ifconfig eno16777736:1 down
[root@centos ~]# ifconfig
除以上功能外,ifconfig还可以设置网卡的MTU。以上的设置会在重启后丢失,如需重启后依然生效,可以通过设置网络接口文件永久生效。
提示:在CentOS和RHEL中使用命令ifup和ifdown加网络接口名,可以启用、禁用对应的网络接口。
配置Linux系统的IP地址
要配置主机IP地址,可以直接通过终端命令设置,如想设置在系统重启后依然生效,可以通过设置对应的网络接口文件。
[root@centos network-scripts]#cat ifcfg-eno33554984
TYPE=Ethernet
BOOTPROTO=none
DEFROUTE=yes
PEERDNS=yes
PEERROUTES=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=ae0965e7-22b9-45aa-8ec9-3f0a20a85d11
ONBOOT=yes #开启自动启用网络连接
IPADDR0=192.168.21.128 #设置IP地址
PREFIXO0=255.255.255.224 #设置子网掩码
GATEWAY0=192.168.21.2 #设置网关
DNS1=8.8.8.8 #设置主DNS
DNS2=8.8.4.4 #设置备DNS
网卡设置参数说明
参数 | 说明 |
TYPE | 设备连接类型,此处为以太网 |
BOOTPROTO | 使用动态IP 还是静态IP |
IPADDR0 | 第一IP地址 |
PREFIX0 | 第一IP地址对应的子网掩码长度 |
GATEWAY0 | 第一IP地址对应的网关 |
DNS1和DNS2 | DNS服务器地址 |
DEFROUTE | 是否为默认路由 |
ONBOOT | 系统启动时是否设置此网络接口 |
NAME | 设备名,此处对应网络接口为eno33554984 |
设置完ifcfg-eth0文件后,需要重启网络服务才能生效,重启后使用ifconfig查看设置是否生效:
[root@centos network-scripts]# service network restart
同一个网络接口可以使用子接口的方式设置多个IP地址
[root@centos ~]# ifconfig eno33554984:2 192.168.146.152 netmask 255.255.255.0 up
当服务器重启或网络服务重启后,子接口配置将消失,如需重启后依然生效,可以将配置子接口命令加入/etc/rc.local文件中。
设置主机名
[root@centos network-scripts]# hostname www.wanyunshuju.com
如需修改重启后依然生效,可以将主机名写入文件/etc/hostname中。
[root@www ~]# hostname
www.wanyunshuju.com
设置默认网关
(1)第1种方法就是直接使用route命令,在设置默认网关之前,先用route -n命令查看路由表。执行如下命令设置网关。
[root@centos /]# route add default gw 192.168.1.254
如果不想每次开机都执行route命令,则应该把要执行的命令写入/etc/rc.d/rc.local文件中。
(2)第2种方法是在/etc/sysconfig/network-scripts/ifcfg-接口文件添加如下字段:
GATEWAY=192.168.10.254
同样,只要是更改了脚本文件,必须重启网络服务来使设置生效,可执行下面的命令:
[root@centos /]# service network restart
设置DNS服务器
设置DNS服务器需修改/etc/resolv.conf文件即可。下面是一个resolv.conf文件。
[root@centos ~]# cat /etc/resolv.conf
nameserver 192.168.3.1
nameserver 192.168.3.2
options rotate
options timeout:1 attempts:2