常规网络配置

网络环境的设置是所有服务搭建的基础,没有网络环境的设置,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

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

inet addr:10.0.0.1Bcast: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:EthernetHWaddr 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 UG0 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-scripts/ifcfg-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服务或者重新启用设置过的网卡,使配置生效。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值