运维日记016 -- RHEL6基础网络配置总结
2016-10-28 15:09
609 查看
运维日记016 – RHEL6基础网络配置总结
Linux下的基础网络配置主要包含网卡IP地址、网卡别名、子网掩码、网关以及DNS等的配置,以使得Linux主机可以和网络上的其他主机互联互通。以下对相关内容做一总结。网卡名称
Linux内核将其检测到的网卡自动命名为ethX(X为数字,0,1,2…)。Linux下一个网卡也可以有多个名称,这叫做别名(aliases)。比如eht0网卡的别名通常命名为eth0:1、eht0:2等,每个别名都会被当做一个独立的网卡对待。当需要为一个物理网卡绑定多个IP地址时候,就需要使用网卡别名来实现。查看当前的网卡配置
IP通常用ifconfig或者ip命令查看当前网卡IP地址配置。如:
$ ifconfig eth0 eth0 Link encap:Ethernet HWaddr 08:00:27:F1:3F:CA inet addr:192.168.1.115 Bcast:192.168.1.255 Mask:255.255.255.0 inet6 addr: fe80::a00:27ff:fef1:3fca/64 Scope:Link UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1 RX packets:79 errors:0 dropped:0 overruns:0 frame:0 TX packets:63 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000 RX bytes:10369 (10.1 KiB) TX bytes:9375 (9.1 KiB)
而ip命令则更加强大灵活。首先它也可以查看当前的网卡配置信息:
$ ip link 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 16436 qdisc noqueue state UNKNOWN link/loopback 00:00:00:00:00:00 brd 00:00:00:00: 00:00 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:f1:3f:ca brd ff:ff:ff:ff:ff:ff $ ip addr show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:f1:3f:ca brd ff:ff:ff:ff:ff:ff inet 192.168.1.115/24 brd 192.168.1.255 scope global eth0 inet6 fe80::a00:27ff:fef1:3fca/64 scope link valid_lft forever preferred_lft forever
这里首先用ip link命名查看了当前系统内的所有网卡(lo是本地回环网卡),然后用ip addr命令查看eth0的具体配置信息。这里的stat UP表示该网卡已启用,qlen 1000表示eth0是一个千兆网卡。
Route
我们可用ip route命令查看当前路由:
# ip route 192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.111 169.254.0.0/16 dev eth0 scope link metric 1002 default via 192.168.1.1 dev eth0
我们看到最后一行
default via 192.168.1.1 dev eth0,含义是eth0网卡使用默认路由是192.168.1.1。
也可用route命令查看路由表:
# route -n Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.1.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0 169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0 0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0
DNS
DNS配置信息保存在/etc/resolv.conf文件中。
# cat /etc/resolv.conf search sailor.com nameserver 192.168.1.1
其中
search sailor.com表示DNS后缀。
另外DNS可以分为默认的DNS和仅对某网卡生效的DNS。/etc/resolv.conf保存的是全局DNS,对所有网卡都有效。而网卡还可以设置仅仅对该网卡有效的DNS,例如:
# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="none" ONBOOT="yes" TYPE="Ethernet" IPADDR=192.168.1.111 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 IPV6INIT=no USERCTL=no DNS1=192.168.1.254
显然,192.168.1.254这个DNS仅仅当eth0激活时对eth0有效,它可以覆盖默认DNS。
Hostname
Hostname即主机名,可用通过hostname命令查看:
# hostname sailor-m.sailor.com
本地的名称解析
Linux主机应该确保可以将自身主机名解析为正确的IP地址,这是通过/etc/hosts文件实现的。
# cat /etc/hosts 192.168.1.111 sailor-m.sailor.com sailor-m 127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4 ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
网络配置文件
传统UNIX的网络配置文件保存在/etc/sysconfig/network-scripts目录下,RHEL6也继承了这一传统。但是RHEL6还有另一套网络配置文件保存在/etc/sysconfig/networking目录下。如何两者配置不一致,系统优先采用前者的配置。如果手工配置网络,则需确保这两套配置体系的一致和同步,否则系统会产生紊乱。因此,推荐用户使用Redhat开发的网络配置工具system-config-network或者system-config-network-tui,可以自动同步两套配置文件,节省了不少工作量也避免了出错。其中system-config-network-tui可以在字符终端界面下运行,而system-config-network则依赖XWidnows,推荐安装前者。
# yum install system-config-network-tui
启动system-config-network-tui,配置完成后,使用
service network restart,则网络配置生效。
另外,RHEL6提供了一个NetworkManager服务用于自动化的对网络进行配置。这个服务对于网络环境经常变化(如笔记本电脑)的情形提供了很大便利,但对于服务器应用,最好将该服务关闭,避免它自动对网络进行设置。
# service NetworkManager stop # chkconfig NetworkManager off
网络配置基本流程
网络配置可依据以下流程对各项进行设置:IP Address
Network mask
Gateway
# need to have network restarted after modify 1, 2, 3
DNS
DNS suffix
# no need to restart network after modify 4, 5
Hostname
# usually need to restart the machine after modify 6
/etc/hosts (hostname must be resolved anytime)
# no need to restart the network after modify 7
其中,步骤1~3可以用system-config-network-tui工具进行设置,配置完成后需要重启网络服务以生效。当然也可以通过ip、ifconfig命令或者直接修改配置文件进行设置,但较复杂容易出错,不推荐。
对于步骤4、5即全局的DNS和DNS后缀,可以直接修改/etc/resolv.conf文件,修改完成后无需重启网络服务而立即生效。
对于步骤6即hostname,可以通过修改/etc/sysconfig/network文件实现。
# cat /etc/sysconfig/network NETWORKING=yes HOSTNAME=wjm.rhel_sailor.com GATEWAY=192.168.1.1
这个文件中的
NETWORKING=yes可以开启或者关闭整个系统的网络;
HOSTNAME=wjm.rhel_sailor.com设置了系统的主机名;
GATEWAY=192.168.1.1设置了系统的默认路由,而在/etc/sysconfig/network-scripts/ifcfg-ethX(X为数字)文件中配置的是针对该网卡的路由,它可以覆盖默认路由,如果ifcfg文件没有设置路由,则默认路由生效。修改了hostname之后,通常需要重启整个系统才能生效。
对于步骤7即/etc/hosts文件,这个文件实现了在本地对主机名称进行解析。当Linux主机需要进行主机名解析时,会先访问/etc/hosts文件,如果本地解析不成功,再查询DNS。可以将自身的主机名和一些经常需要解析的主机名放在/etc/hosts文件中,用以加快解析速度。这里给出一个/etc/hosts文件的例子:
# cat /etc/hosts 127.0.0.1 localhost.localdomain localhost 192.168.1.100 linumu100.com linumu100 192.168.1.120 ftpserver ftp120
一般情况下hosts文件的每行尾一个主机,每行由三部分组成,每个部分由空格隔开。第一部分:网络IP地址;第二部分:主机名或域名;第三部分:主机名别名。
网卡别名
当需要为一块物理网卡绑定多个IP地址时,需要使用网卡别名(alias)。简单的方法可以手动配置ifcfg文件来实现。# cat /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0" BOOTPROTO="none" ONBOOT="yes" TYPE="Ethernet" IPADDR=192.168.1.111 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 IPV6INIT=no USERCTL=no DNS1=192.168.1.254
下面对这个配置文件的主要项进行解释。
DEVICE="eth0"表示设备名为eht0;
BOOTPROTO="none"表示是否启用DHCP,none表示不启用;
ONBOOT="yes"表示启动时激活该网卡;IPADDR、DNS1、GATEWAY几项分别设置该网卡的IP、DNS和网关;
USERCTL=no表示不允许非root用户控制该网卡。另外还可以有
NM_CONTROLLED="yes"表示该网卡受Network Manager服务的控制,实时生效而无需重启网络服务,这其实是很大的安全隐患,很容易造成网络中断,建议设置为no。
接下来演示如何设置网卡子卡(别名):
# cd /etc/sysconfig/network-scripts/ # cp ifcfg-eth0 ifcfg-eth0:0 # vi ifcfg-eth0:0
首先将ifcfg-eth0文件复制一份命名为ifcfg-eth0:0,然后vi打开ifcfg-eht0:0文件,修改其中的设备名称和IP地址项:
# cat ifcfg-eth0:0 DEVICE="eth0:0" BOOTPROTO="none" ONBOOT="yes" TYPE="Ethernet" IPADDR=192.168.1.112 NETMASK=255.255.255.0 GATEWAY=192.168.1.1 IPV6INIT=no USERCTL=no DNS1=192.168.1.1
可以看到,设备名改为eht0:0(必须和文件命一致),IP地址改为192.168.1.112。重启网络即可生效。
# service network restart # ip addr show eth0 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000 link/ether 08:00:27:f1:3f:ca brd ff:ff:ff:ff:ff:ff inet 192.168.1.111/24 brd 192.168.1.255 scope global eth0 inet 192.168.1.112/24 brd 192.168.1.255 scope global secondary eth0:0 inet6 fe80::a00:27ff:fef1:3fca/64 scope link valid_lft forever preferred_lft forever
这里可以看到eth0网卡已有了192.168.1.111/24和192.168.1.112/24两个IP地址。另外请记住,子卡必须使用静态IP。
相关文章推荐
- 20150908 Linux运维网络基础和TCP有限状态机状态转换原理、Linux网络属性配置及网络
- 运维日记014 - RHEL6启动及初始化相关总结
- Docker网络基础配置--RHEL7.2
- 网络配置——Linux运维基础
- # 运维小白的成长日记第六天-基础网络构建OSI七层模型-网络层基础知识#
- 转载:Linux网络基础总结(常用配置文件&常用命令)
- 运维小白的成长日记第四天-基础网络构建OSI七层模型-物理层基础知识
- # 运维小白的成长日记第五天-# 基础网络构建OSI七层模型-数据链路层基础知识
- 网络配置——Linux运维基础
- # 运维小白的成长日记第三天-基础网络构建OSI七层模型与TCP/IP模型
- 【APP】Linux网络基础总结(常用配置文件&常用命令)
- (网络基础之:交换机基本配置导读)
- Linux系统下网卡网络配置基础
- linux服务器配置实例<1>---Linux网络基础
- RHCE课程-RH033Linux基础笔记六之编辑工具VIM、网络配置、进程优先、日志文件简介 推荐
- hp无线网络的安装及配置过程(总结)
- ubuntu9.04下kvm虚拟机的安装与桥接网络配置(总结)
- Ubuntu系统网络应用服务器Apache配置基础
- Linux网络服务器配置基础
- RHEL基本网络配置