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。