常规网络配置

来源:互联网 发布:深圳市数据分中心 编辑:程序博客网 时间:2024/06/04 18:33

网络环境的设置是所有服务搭建的基础,没有网络环境的设置,Linux主机就无法很好地与外界进行通信。而一个良好的网络环境可以减少维护成本,从而大大提高Linux主机的工作效率和质量。下面就对常规的网络设置进行逐一介绍。

1.2.1  配置主机名

对于提供TCP/IP网络功能的Linux主机来说,都必须设置一个IP地址来标识自己。这就像人们所使用的身份证号码一样。每一个身份证号码都可以唯一地标识一个人。但对人而言,IP地址总是不容易被记忆。因此,Linux允许用户为计算机设定一个简单易懂的名字,就如同日常生活中人们使用的姓名一样。在Linux中,这个名字称之为主机名,并且要确保主机名在网络中是唯一的。否则,通信会受到影响。建议设置主机名的时候,有规则地进行设置。例如,按照主机功能进行划分。

1. 设置主机名

通过编辑/etc/sysconfig/network文件中的HOSTNAME字段可以修改主机名,如下所示。

 

[root@RHEL5 sysconfig]# vi  /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=yes

HOSTNAME=RHEL5

 

HOSTNAME=RHEL5表示主机名设置为RHEL5。

注意:修改主机名后,需要重新启动系统后生效。

2. 查看主机名

设置完主机名后,可以使用hostname命令查看当前主机名称,如下所示。

 

[root@RHEL5 sysconfig]# hostname

RHEL5

 

技巧:可以使用两个简单的命令临时设置主机名。
①  使用sysctl命令修改内核参数,格式为:sysctl  kernel.hostname=主机名,如下所示。

 

      [root@RHEL5 ~]# sysctl  kernel.hostname=new
kernel.hostname = new         #new为新设置的主机名

 

           ②  使用hostname命令去设置主机名。格式为:hostname  主机名,如下所示。

      [root@RHEL5 sysconfig]# hostname  newname

 

           该设置为临时生效。重新启动系统后,设置失效。

1.2.2  使用ifconfig配置IP地址及辅助IP地址

大多数的Linux发行版都会内置一些命令来配置网络。而ifconfig是最常用的命令之               一,它通常用来设置IP地址和子网掩码以及查看网卡相关配置。

1. 设置IP地址

使用ifconfig命令配置IP地址,格式如下所示。

 

ifconfig  网卡名  ip地址  netmask   子网掩码

 

『示例1.1』设置第一块以太网卡(eth0)的IP地址为10.0.0.1,子网掩码为255.0.0.0。

 

[root@RHEL5 /]# ifconfig  eth0  10.0.0.1  netmask  255.0.0.0

 

2. 查看IP地址

使用ifconfig命令可以查看网卡配置信息,如MAC地址、IP地址、收发数据包情况等,如下所示。

 

[root@RHEL5 /]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:4E:C0:3A

          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0

          inet6 addr: fe80::20c:29ff:fe4e:c03a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:4295 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4428 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:605069 (590.8 KiB)  TX bytes:783547 (765.1 KiB)

          Interrupt:177 Base address:0x1080

 

lo        Link encap:Local Loopback

          inet addr:127.0.0.1  Mask:255.0.0.0

          inet6 addr: ::1/128 Scope:Host

          UP LOOPBACK RUNNING  MTU:16436  Metric:1

          RX packets:2061 errors:0 dropped:0 overruns:0 frame:0

          TX packets:2061 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:0

          RX bytes:3317616 (3.1 MiB)  TX bytes:3317616 (3.1 MiB)

 

执行命令后,ifconfig命令会显示所有激活网卡的信息,其中eth0为物理网卡,lo为回环测试接口。每块网卡的详细情况,通过标志位表示,如表1.1所示。

表1.1  ifconfig字段解析

标 志 位

注  解

eth0

表示第一块以太网卡

Link encap

表示该网卡位于OSI物理层(Physical Layer)的名称

HWaddr

表示网卡的MAC地址(Hardware Address)

inet addr

表示该网卡在TCP/IP网络中的IP地址

Bcast

表示广播地址(Broad Address)

Mask

表示子网掩码(Subnet Mask)

MTU

表示最大传送单元,不同局域网类型的MTU值不一定相同,对以太网来说,MTU的默认设置是1500个字节

Metric

表示度量值,通常用于计算路由成本

RX

表示接收的数据包

TX

表示发送的数据包

collisions

表示数据包冲突的次数

txqueuelen

表示传送列队(Transfer Queue)长度


续表

标 志 位

注  解

Interrupt

表示该网卡的IRQ中断号

Base address

表示I/O地址

 

如果想单独查看某块网卡的状况,可以在ifconfig命令后加上指定的网卡名,如下               所示。

 

[root@RHEL5 /]# ifconfig  eth0

eth0      Link encap:Ethernet  HWaddr 00:0C:29:4E:C0:3A

          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0

          inet6 addr: fe80::20c:29ff:fe4e:c03a/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:4412 errors:0 dropped:0 overruns:0 frame:0

          TX packets:4543 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:616659 (602.2 KiB)  TX bytes:799390 (780.6 KiB)

          Interrupt:177 Base address:0x1080

3. 设置辅助IP地址

在实际工作中,可能会出现一块网卡需要拥有多个IP地址的情况,可以通过设置虚拟网卡来实现。命令格式如下。

 

ifconfig  网卡名:虚拟网卡ID  ip地址  netmask   子网掩码

 

『示例1.2』为第一块以太网卡(eth0)设置一个辅助IP地址10.1.1.1 ,子网掩码为255.0.0.0,如下所示。

 

[root@RHEL5 ~]# ifconfig  eth0:0  10.1.1.1 netmask  255.0.0.0

 

如果不设置netmask,则使用默认的子网掩码。

使用ifconfig命令查看,如下所示。

 

[root@RHEL5 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:37:A6:C4:68:E3

          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0

          inet6 addr: fe80::237:a6ff:fec4:68e3/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:750 errors:0 dropped:0 overruns:0 frame:0

          TX packets:682 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:65514 (63.9 KiB)  TX bytes:92076 (89.9 KiB)

          Interrupt:177 Base address:0x1080

 

eth0:0    Link encap:Ethernet  HWaddr 00:37:A6:C4:68:E3

          inet addr:10.1.1.1  Bcast:10.255.255.255  Mask:255.0.0.0

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          Interrupt:177 Base address:0x1080

 

eth0:0表示eth0的第一个虚拟网卡,如果还想继续设置更多的IP地址,可以使用eth0:1;eth0:2;eth0:3……分别表示第二块、第三块、第四块虚拟网卡,以此类推。对这些虚拟网卡设置IP地址即可实现一块网卡配置多个辅助IP地址需求。

1.2.3  禁用和启用网卡

对于网卡的禁用和启动,依然可以使用ifconfig命令,格式如下所示。

 

ifconfig  网卡名称  down               #禁用网卡

ifconfig  网卡名称  up                 #启用网卡

 

如下所示。

 

[root@RHEL5 /]# ifconfig  eth0  down

[root@RHEL5 /]# ifconfig  eth0  up

 

使用ifdown和ifup命令也可以实现禁用和启用网卡的效果。

如下所示。

 

[root@RHEL5 /]# ifdown  eth0         #禁用第一块以太网卡

[root@RHEL5 /]# ifup  eth0            #启用第一块以太网卡

1.2.4  更改网卡MAC地址

MAC地址也叫物理地址或硬件地址,它是全球唯一的地址,由网络设备制造商生产时写在网卡内部。MAC地址的长度为48位(6个字节),通常表示为12个十六进制数,每2个十六进制数之间用冒号隔开。如:00:0C:29:4E:C0:3A就是一个MAC地址。其中前6位十六进制数00:0C:29代表网络硬件制造商的编号,它由IEEE(电气与电子工程师协会)分配,而后3位十六进制数4E:C0:3A代表该制造商所制造的某个网络产品(如网卡)的系列号。

更改网卡MAC地址时,需要先禁用该网卡,然后使用ifconfig命令进行修改。

 

ifconfig  网卡名  hw  ether  MAC地址

 

『示例1.3』修改第一块以太网卡(eth0)的MAC地址为00:37:A6:C4:68:E3,如下所示。

 

[root@RHEL5 /]# ifdown  eth0

[root@RHEL5 /]# ifconfig  eth0  hw  ether  00:37:A6:C4:68:E3

[root@RHEL5 /]# ifup  eth0

 

使用ifconfig命令再次查看,网卡MAC地址已经更改完毕,如下所示。

 

[root@RHEL5 ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:37:A6:C4:68:E3

          inet addr:10.0.0.1  Bcast:10.255.255.255  Mask:255.0.0.0

          inet6 addr: fe80::237:a6ff:fec4:68e3/64 Scope:Link

          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

          RX packets:33 errors:0 dropped:0 overruns:0 frame:0

          TX packets:120 errors:0 dropped:0 overruns:0 carrier:0

          collisions:0 txqueuelen:1000

          RX bytes:3908 (3.8 KiB)  TX bytes:21566 (21.0 KiB)

          Interrupt:177 Base address:0x1080

 

注意:ifconfig命令修改IP地址和MAC地址均为临时生效。重新启动系统后,设置失效。可以通过修改网卡配置文件使其永久生效。详情请参考1.2.6节。

1.2.5  route命令设置网关

route命令可以说是ifconfig命令的黄金搭档。也像ifconfig命令一样几乎所有的Linux发行版都可以使用该命令。route通常用来进行路由设置。例如添加或删除路由条目,以及查看路由信息。也可以用来设置默认网关,命令格式如下。

 

route  add  default  gw  IP 地址     #添加默认网关

route  del  default  gw  IP 地址      #删除默认网关

 

『示例1.4』将Linux主机的默认网关设置为10.0.0.1。

 

[root@RHEL5 ~]# route  add  default  gw  10.0.0.1

 

当设置好网关之后,使用route命令可以查看网关及路由情况,如下所示。

 

[root@RHEL5 ~]# route

Kernel IP routing table

Destination     Gateway    Genmask      Flags   Metric  Ref     Use Iface

169.254.0.0     *          255.255.0.0  U       0       0       0 eth0

10.0.0.0        *          255.0.0.0    U       0       0       0 eth0

default         10.0.0.1   0.0.0.0      UG ①   0       0       0 eth0

 

①    Flags用来描述该条路由条目的相关信息,如是否活跃,是否为网关等。U表示该条路由条目为活跃的,G表示该条路由条目要涉及到网关。

1.2.6  网卡配置文件

前面介绍的ifconfig和route命令去设置IP地址及网关时,配置均为临时生效。也就是说,重新启动系统后,配置失效。如何去解决这个问题,让配置永久生效呢?可以直接编辑网卡配置文件,通过参数设置来配置网卡。网卡配置文件位于/etc/sysconfig/network- scripts/目录下,如下所示。

 

[root@RHEL5 sysconfig]# cd  /etc/sysconfig/network-scripts/

[root@RHEL5 network-scripts]# ls  ifcfg-*

ifcfg-eth0  ifcfg-eth1  ifcfg-lo

 

每块网卡都有一个单独的配置文件,可以通过文件名找到每块网卡对应的配置文件。例如,ifcfg-eth0就是eth0这块网卡的配置文件。下面以/etc/sysconfig/network-scriptsifcfg-eth0文件为例进行配置,如下所示。

 

[root@RHEL5 network-scripts]# vi  ifcfg-eth0

# Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE]

DEVICE=eth0

BOOTPROTO=static

IPADDR=10.0.0.1

NETMASK=255.0.0.0

HWADDR=00:0C:29:4E:C0:3A

ONBOOT=yes

TYPE=Ethernet

 

每个网卡配置文件都存储了网卡的状态,每一行代表一个参数值。系统启动时通过读取该文件所记录的情况,来配置网卡。常见的参数如表1.2所示。

表1.2  网卡参数

参  数

注  解

默 认 值

是否可省略

DEVICE

指定网卡名称

×

BOOTPROTO

指定启动方式

static:表示使用静态IP地址

bootp/dhcp:表示通过BOOTP或DHCP协议自动获得IP地址

static

HWADDR

指定网卡的MAC地址

BROADCAST

指定广播地址

通过IP地址和       子网掩码自动计算得到

IPADDR

指定IP地址

当BOOTPROTO=static时不能省略

NETMASK

指定子网掩码

当BOOTPROTO=static时不能省略

NETWORK

指定网络地址

通过IP地址和       子网掩码自动计算得到

ONBOOT

指定在启动network服务时,是否启用该网卡

yes

GATEWAY

指定网关

 

修改过网卡配置文件后,需要重新启动network服务或者重新启用设置过的网卡,使配置生效。

原创粉丝点击