我们要将一台主机接入网络IP地址是肯定不能少的,还有子网掩码(NETMASK)、网关(GATEWAY)、DNS服务器,有时可能还要配置路由。这些信息是既可以手动指定也可以自动获取的。Linux的网络功能是属于内核的,而我们要配置的地址看似配给了网卡,但是当有其他主机发送请求的时候,不管这个请求是不是被请求的那个网卡收到,只要在这个主机上有这个地址,那么内核就会响应。那么这些信息我们应该怎么来配置呢,这些信息放在什么地方呢?如果我们的网络服务没有启用时该怎么来启用它呢?用下面的命令就可以了:

# /etc/init.d/network start (这里是针对的RHEL5来说的)启用网络服务功能

# /etc/init.d/network stop 禁用网络功能

# /etc/init.d/network restart 重启网络服务

# /etc/init.d/network status 查看网络接口状态

LinuxWindows不同,在Windows中我们查看IP地址用的命令式ipconfig,而linux中查看IP的命令式ifconfigifconfig是用来显示当前主机上处于活动状态的网卡的信息的,当然还可以用它来配置并启用某块网卡,也可以禁用。

 ifconfig -a:显示所有网络接口的配置信息

 ifconfig [网卡名] {up|down}:启用或禁用网卡

 ifconfig ethX(网卡名) IP/MASK:配置网卡,给网卡设置IP和子网掩码


假如我们要给eth1这块网卡设置IP并且同时启用它,我们下面的命令就可以实现:

# ifconfig eth1 192.168.20.1/24 up 


用这些命令来配置的地址会立即生效,但重启网络服务或主机之后都会失效,配置的信息会还原为配置之前的信息,那么我们怎么来使它能永久有效呢?这个其实也是很简单的,我们只需找到它的配置文件,将文件中的配置信息改为我们要给它定义的信息就可以了,这个等下面再来总结,我们先来看一下有关路由的配置信息。

route:后面不加任何参数表示查看路由表

route add -host:表示添加主机路由

route add -net:表示添加网络路由

route add -net 0.0.0.0:表示添加默认路由


# route add -host 172.16.16.0 gw 172.16.16.1

这里表示的是添加一个主机路由并指定下一跳,gw表示指定下一跳,下一跳指向网关。

Linux的基础网络配置_基础

route del:删除路由

-host:删除主机路由

-net:删除网络路由或默认路由

# route del -host 172.16.16.0:删除此路由的信息

# route del -net 0.0.0.0:删除默认路由

# route del default:删除默认路由


# route -n:以数字方式显示各主机或端口等相关信息


这些都是在命令行可以直接改动的,并且立即生效,但是在重启网络服务或主机之后都将恢复原样,下面我们就来看看怎么给它保存下来。


网络配置文件:

网络接口配置文件:网络接口的相关配置信息都在这里面保存着,我们只要改动了文件里的内容并保存,那就是永久保存了。

/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME (INTERFACE_NAME表示的是设备名称)

Linux的基础网络配置_基础_02

(图中带#的行为注释行,不解释)

DEVICE=关联的设备名称,要与文件名的后半部“INTERFACE_NAME”保持一致;

BOOTPROTO={static|none|dhcp|bootp}:引导协议:要使用静态地址,staticnonedhcp表示使用DHCP服务器获取地址;

HWADDR=:硬件地址,要与硬件中的地址保持一致,如果不知道可以省略不写;

IPADDR=IP地址

NETMASK=:子网掩码

ONBOOT=开机时是否自动激活此网络接口

有些还会有

USERCTL={yes|no}:是否允许普通用户控制此接口的启用或禁用

PEERDNS={yes|no}:是否在BOOTPROTOdhcp时接受由DHCP服务器指定的DNS地址

如果将这些信息进行改动之后并不会立即生效,要重启网络服务或主机之后才会生效,但是如果没人修改的情况下就永久有效!


关于路由的配置文件也在这个目录下

/etc/sysconfig/network-scripts/route-ethX

Linux的基础网络配置_网络_03

ADDRESS0=地址

NETMASK0=子网掩码

GATEWAY0=:默认网关

还有另外一种格式也可以实现

DEST(目标IP via NEXTHOP(下一跳)如:

172.16.0.1/16   via   0.0.0.0


DNS服务器的指定方法只有一种:在/etc/resolv.conf

Linux的基础网络配置_Linux_04

直接nameserver DNS_IP就可以了,DNS服务器的地址最多可以有三个

指定本地解析:/etc/hosts

Linux的基础网络配置_Linux_05

格式为 主机IP   主机名     主机别名

这种方法是我们本地没有DNS服务器的时候,或者我们不去定义DNS服务器又得使用主机名的时候的一个很好的解决方法。

有时我们还需要配置主机名,我们都知道用hostname命令就可以改,但是这个虽然是立即生效的但不是永久有效的,我们也可以来修改文件来让它永久有效;

/etc/sysconfig/network中有一行是定义主机名的为HOSTNAME=“主机名”。这些在配置文件中配置的信息都是不会立即生效的,需要重启网络服务或主机,但是如果不再做更改的话就是永久有效的。

当然我们的RHEL5还提供了图形化界面的配置方式setupsysytem-config-network-tui这是一个文本图形界面另外还有一个图形界面只能在图形化窗口下运行system-config-network-gui 在这里做的更改跟在文件系统中做的更改效果是一样的是永久性的,要让其生效必须重启网络服务或主机。