ifconfig命令

如何设置ip以及查看ip相关信息呢?

使用ifconfig命令

语法格式:

ifconfig :不加任何选项表示只显示接口为up状态的接口信息

Ifconfig -a:表示显示所有接口的接口信息,不管该接口是up还是down都显示

 

使用ifconfig命令配置ip的方法有两种:

方法一、Ifconfig interface [ip/netmask] [up|down]

表示为该接口配置ip和掩码,并启动或关闭该接口

例如:ifconfig eth0 192.168.0.120/24  up

 ifconfig命令和ip命令及route命令


方法二、ifconfig interface ip-address netmask 掩码 [up|down]

表示为该接口配置ip和掩码,并启动或关闭该接口

其中netmask为关键字

例如:ifconfig 192.168.0.110 netmask 255.255.255.0 up


方法二、ifconfig interface ip-address netmask 掩码 [up|down]

表示为该接口配置ip和掩码,并启动或关闭该接口

其中netmask为关键字

例如:ifconfig 192.168.0.110 netmask 255.255.255.0 up

ifconfig命令和ip命令及route命令


 

不管使用哪种方法配置ipip都会立即生效,但不会永久生效,也就是说一旦网络服务重启或者主机重启,配置命令就会失效。

重启网络服务的方式在RHEL5RHEL6上不相同

RHEL5的环境下重启网络服务的命令为:/etc/init.d/network/{start|stop|restart|status}

RHEL6的环境下重启网络服务的命令为:/etc/init.d/network/{start|stop|restart|status}

其中这些命令的意思为:

start:启动网络服务

stop:停止网络服务

restart:重启网络服务

status:查看网络所处的状态

网络的配置文件是/etc/sysconfig/network

ifconfig命令和ip命令及route命令

第一行表示是否启用网络功能

第二行表示是否启用ipv6功能

第三行表示当前系统的主机名


 

刚刚说过在使用ifconfig配置的ip不会永久有效,要想永久生效,必须将命令写入到配置文件中去。

网络接口的配置文件为:/etc/sysconfig/network-scripts/ifcfg-INTERFACE_NAME

其中INTERFACE_NAME为接口名称,所以每一个接口都会对应着一个配置文件

其中配置文件主要内容为:

DEVICE=#:关联的接口名称,与INTERFACE_NAME保持一致

BOOTPROTO={static|none|dhcp|bootp}:引导协议,表示使用哪种方式获取ip

static|none:使用静态方式获取

dhcp:使用dhcp协议获取

IPADDR=#:IP地址

NETMASK=#:子网掩码

GATEWAY=#:设定默认网关

ONBOOT={yes|no}:表示开机是否**此网卡

HWADDR=#:设定硬件地址,也就是MAC地址,要与硬件中的地址保持一致;此行可省略

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

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

 

要想让配置文件立即生效,可以重启网络服务或者重启主机。


ip命令

上述主要介绍了如何使用ifconfig命令来配置ip,及查看相关信息的。其实ifconfig是一种比较老的指令。在这里将介绍另一种配置ip的命令-------ip命令

ip命令结合了ifconfigroute的指令,因此功能更加的强大

语法格式:

ip link:查看网络接口(二层地址)的属性信息及开启或者关闭网络接口

ip  [-s] link show:查看该装置上所有的网络接口信息

   -s:显示该装置的统计数据(statistics),例如接受包和发送出去的包的信息

ip link set INTERFACE_NAME [up|down] :开启或关闭某个接口

例如:ip link set eth0 down

 

ip addr/address :给某个接口配置ip或者删除ip

ip addr/address [add|del|flush|show]  [IP-ADDRESS/mask] [dev 接口名称] [to PREFIX ]

add:给某个接口增加ip。

del:删除某个接口的地址。如:ip addr del 3.3.3.3/24 dev eth1.

show:(用来查看三层信息的)查看某个接口的ip信息。如果后面没有接指定接口,则显示所有接口的ip信息。

ifconfig命令和ip命令及route命令

flush:清除某个接口的ip地址。如:ip addr flush eth1.

IP-ADDRESS/mask:ip地址和掩码

PREFIX:匹配地址的前缀或网络地址前缀

ifconfig命令和ip命令及route命令        

ip route:设定路由

ip route [show|add|del] [ip或者网段] [via gateway] [dev 接口名称]

show:显示路由表

add:增加路由

del:删除路由。如:ip route add 4.4.4.0/24.

Via :下一跳,及从哪个网关出去

ifconfig命令和ip命令及route命令

注意:使用ip route命令来设定路由时,其网段必须严格匹配。如:ip route add 3.3.3.3/24 via 1.1.1.1这样配置就是不正确的,必须将3.3.3.3/24改为3.3.3.0/24才是正确的。


route命令

配置路由的另一种命令route

语法格式:

route n:显示路由表,且以ipport的形式显示而不是使用主机名来显示

ifconfig命令和ip命令及route命令

其中U表示路由是启动的

G表示是默认路由


route [add|del] [-net|-host] [网段或主机][netmask mask] [gw default-ip] [dev 接口名称

add:增加路由

del:用于删除路由。如route del -net 6.6.6.0 netmask 255.255.255.0

-net:指定的网段路由u

-host:指定主机路由。如:route add -host 6.6.6.6 gw 3.3.3.3 dev eth1

netmask mask:指定掩码。其中netmask为关键字,mask则为要替换的掩码。

gw:后面接默认网关的ip-address

dev:后面接接口名称


例如一:给ip192.168.2.25的地址配置一个网关为192.168.2.222

ifconfig命令和ip命令及route命令



例如二、配置一条去往10.1.1.0/24的路由,下一条为192.168.2.25

ifconfig命令和ip命令及route命令


    使用route命令来配置默认路由

route [add]del] default [gw NEXHOP]

NEXHOP:为下一跳

例如:

ifconfig命令和ip命令及route命令


使用ip route和route设定路由时的区别:

1、使用ip route设定路由时,其下一跳使用via关键字来指定。使用route命令设定ip时,其下一跳使用gw关键字来指定。

2、使用ip route设定网段或主机路由时,直接在该网段后面加上掩码即可。如:10.1.1.0/24;而使用route命令设定主机路由时,需要使用-host关键字来指定,且后面不需要加掩码,指定网段路由时,需要使用-net关键字来指定,并且还需要netmask关键字来指定该路由的掩码。


上述使用route配置的命令会立即生效,一旦网络重启或者主机重启都会失效。要想永久有效,必须将命令写到配置文件中去。

路由的配置文件是/etc/sysconfig/network-script/route-eth#

注意:只有在配置文件中的gwip和这个接口的ip处于同一个网段内,这个路由才会生效。

配置文件有2种格式:

第一种格式为:

DEST  via  NEXHOP

例如:

ifconfig命令和ip命令及route命令



第二种格式为:

ADDRESS#=

NETMASK#=

GATEWAY#=

其中#为数字,表示这是第几条路由

ifconfig命令和ip命令及route命令


一个接口的多ip配置

我们常常看到一个接口有多个地址存在,那么如何去配置一个接口有多个地址呢?

2种方式来配置

第一种使用ifconfig命令来配置。不过ifconfig命令是通过给接口配置别名的方式来实现的。

语法格式:ifconfig 接口名称:# IP_ADDRESS

#:表示数字

例如:给etho配置另一个地址为11.11.11.11

ifconfig命令和ip命令及route命令


第二种方式:使用ip  addr add方式配置

关于使用ip addr add命令来给一个接口配置多个地址上面已经介绍,这里不再详述。