Linux网络——修改配置文件

时间:2021-10-04 16:12:03

Linux网络——修改配置文件

摘要:本文主要学习了如何通过修改配置文件来设置网络参数。

配置文件

通过修改系统的配置文件为系统设置网络参数,这种方式的优点是可以永久保存,计算机重启后仍然生效。缺点是这样的设置不会立刻生效,需要重启计算机或者相关服务才可以使其生效。

在Linux系统里,跟网络有关的主要设置文件如下:

1 /etc/host.conf:配置域名服务客户端的控制文件。
2 /etc/hosts:完成主机名映射为IP地址的功能。
3 /etc/resolv.conf:域名服务客户端的配置文件,用于指定域名服务器的位置。
4 /etc/sysconfig/network:包含了主机最基本的网络信息,用于系统启动。
5 /etc/sysconfig/network-script/:系统启动时初始化网络的一些信息。
6 /etc/xinetd.conf:定义了由超级进程xinetd启动的网络服务。
7 /etc/networks:完成域名与网络地址的映射。
8 /etc/protocols:设定了主机使用的协议以及各个协议的协议号。
9 /etc/services:设定主机的不同端口的网络服务。

/etc/host.conf

内容

1 [root@localhost ~]# cat /etc/host.conf
2 multi on

说明

multi设置为on表示允许主机拥有多个IP地址。

/etc/hosts

内容

1 [root@localhost ~]# cat /etc/hosts
2 127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
3 ::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

说明

默认存放的是本机IP和本机一些主机名的对应关系,第一行是ipv4信息,第二行是ipv6信息,如果用不上ipv6本机解析,一般把该行注释掉。

localhost、localhost.localdomain、localhost4、localhost4.localdomain4都会被解析成127.0.0.1。

/etc/resolv.conf

内容

1 [root@localhost ~]# cat /etc/resolv.conf
2 # Generated by NetworkManager
3 search localdomain
4 nameserver 192.168.35.2

说明

指定域名解析的DNS服务器IP等信息,配置参数一般接触到的有4个:

1 nameserver:指定DNS服务器的IP地址。
2 domain:定义本地域名信息。
3 search:定义域名的搜索列表。
4 sortlist:对gethostbyname返回的地址进行排序。

但是最常用的配置参数是nameserver,其他的可以不设置,这个参数指定了DNS服务器的IP地址,如果设置不正确,就无法进行正常的域名解析。

一般来说,推荐设置2个DNS服务器,比如我们用google的免费DNS服务器,那么该文件的设置内容如下:

1 nameserver 8.8.8.8
2 nameserver 8.8.4.4

同样,这个文件也是危险的,如果被人恶意改成了他自己的DNS服务器,他就可以为所欲为的控制你通过域名访问的每个目的地了,这就是常说的DNS劫持。

/etc/sysconfig/network

内容

1 [root@localhost ~]# cat /etc/sysconfig/network
2 # Created by anaconda

说明

设置主机名和网关,是针对本计算机的一个标识,典型的配置如下:

1 NETWORKING=yes
2 NETWORKING_IPV6=no
3 HOSTNAME=localhost
4 GATEWAY=192.168.0.1

参数简要解释:

1 NETWORK:设置网络是否有效,yes有效,no无效。
2 NETWORKING_IPV6:设置ipv6网络是否有效,yes有效,no无效。
3 HOSTNAME:设置服务器的主机名,最好和/etc/hosts里设置一样,否则在使用一些程序的时候会有问题。
4 GATEWAY:指定默认网关IP。

/etc/sysconfig/network-scripts/ifcfg-ethx

说明

设置对应网口的IP等信息,比如第一个网口,那么就是/etc/sysconfig/network-scripts/ifcfg-eth0,配置例子:

1 DEVICE="eth0"
2 BOOTPROTO="static"
3 BROADCAST="192.168.0.255"
4 HWADDR="00:16:36:1B:BB:74"
5 IPADDR="192.168.0.100"
6 NETMASK="255.255.255.0"
7 ONBOOT="yes"

参数简要解释:

 1 DEVICE:此配置文件对应的设备的名称,和文件ifcfg-ethx里的ethx要一致。
 2 HWADDR:设备的MAC地址。
 3 UUID:此设备的惟一标识。
 4 BROADCAST:广播地址。
 5 IPADDR:IP地址。
 6 IPV6INIT:是否初始化IPv6。
 7 NETMASK:子网掩码。CentOS 7支持使用PREFIX以长度方式指明子网掩码(PREFIX=16)。
 8 GATEWAY:默认网关。
 9 DOMAIN:DNS搜索域。
10 DNS1:第一DNS服务器指向。
11 DNS2:备用DNS服务器指向。
12 ONBOOT:启动或者重启网络时,是否启动该设备,yes是启动,no是不启动。
13 BOOTPROTO:开机协议,最常见的三个参数如下:static是静态IP。none是不指定,可以用在固定IP的情况,但是如果多网口绑定bond,必须设成none。dhcp是动态IP。
14 TYPE:接口类型,常见的有Ethernet、Bridge。
15 USERCTL:是否允许普通用户控制此设备。
16 PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcpserver分配的dns服务器指向覆盖本地手动指定的DNS服务器指向。默认为yes。
17 NM_CONTROLLED:是否使用NetworkManager服务来控制接口。对centos6一般为no,centos7为yes。

/etc/sysconfig/network-scripts/route-ethx

说明

设置对应网口的路由信息,比如第一个网口eth0的路由信息,那么就是/etc/sysconfig/network-scripts/route-eth0。