您的位置:首页 > 运维架构 > Linux

常用Linux路由命令(route、ip、ifconfig等等)

2012-09-07 17:18 561 查看
第一组命令: ifconfig, ifup, ifdown

1) ifconfig

作用:手动启动、观察与修改网络接口的相关参数,包括IP地址以及MTU大小等。

例1.1:暂时修改IP地址

# ifconfig eth0 192.168.100.100

例1.2:修改IP地址、掩码和MTU

# ifconfig eth0 192.168.100.100 netmask 255.255.255.128 mtu 8000

例1.3:关闭eth0

# ifconfig eth0 down

注意,修改接口的任何参数都是“暂时”的,执行/etc/init.d/network restart (RH)后,所有修改都丢失了。

2)ifup和ifdown

仅就/etc/sysconfig/network-scripts内的ifcfg-ethx(x为数字)进行启动或关闭操作,并不能直接修改接口的参数,而需要手工调整ifcfg-ethx文件才行。

例2.1:启动eth0

# ifup eth0

例2.2:关闭eth0

# ifdown eth0

上面一节中,通过执行/etc/init.d/network restart 来重启网络接口,这条命令其实也要读取配置文件ifcfg-ethx。

第二组命令: route

作用:查看和更改主机Linux路由表。

例1:查看主机的Linux路由表

# route -n

Destination Gateway Genmask Flags Metric Ref Use Iface

192.168.1.0 0.0.0.0 255.255.255.0 U 1 0 0 eth0

169.254.0.0 0.0.0.0 255.255.0.0 U 1000 0 0 eth0

0.0.0.0 192.168.1.1 0.0.0.0 UG 0 0 0 eth0

例2:Linux路由的添加

#route add -net 192.168.100.0 netmask 255.255.255.0 dev eth0

例3:Linux路由的删除

# route del -net 169.254.0.0 netmask 255.255.0.0 dev eth0

例4:设置默认Linux路由

# route add default gw 192.168.10.30

说明:gw表示后面接的是一个IP地址,而不是dev。

第三组命令: ip

1) IP link

1.1 ) ip [-s] link show [dev]

作用: 查看设备的硬件相关设置,包括MAC地址、MTU等。

例1:查看接口eth0

# ip -s link show eth0

2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

link/ether 00:0c:29:e7:53:6c brd ff:ff:ff:ff:ff:ff

RX: bytes packets errors dropped overrun mcast

86168 892 0 0 0 0

TX: bytes packets errors dropped carrier collsns

184674 797 0 0 0 0

上面的显示内容中还包括接收和发送的数据包的数量。

1.2) ip link set eth0 name vbird

ip link set eth0 address aa.aa.aa.aa.aa.aa

作用:修改接口eth0的硬件设备参数name和address。

2) ip address

2.1)ip address show eth0

作用:显示网络接口eth0的IP参数。

例:

# ip address show eth0

2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000

link/ether 00:0c:29:e7:53:6c brd ff:ff:ff:ff:ff:ff

inet 192.168.1.3/24 brd 192.168.1.255 scope global eth0

inet6 fe80::20c:29ff:fee7:536c/64 scope link tentative


valid_lft forever preferred_lft forever

3) ip route

3.1) ip route show

作用:显示当前的Linux路由配置。

例:

# ip route show

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.3 metric 1

169.254.0.0/16 dev eth0 scope link metric 1000

default via 192.168.1.1 dev eth0 proto static

可见上面的输出信息与route -n 的输出差不多。

3.2) ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0

作用:增加可以通往外部的Linux路由

3.3) ip route add default via 192.168.1.2 dev eth0

作用:增加默认Linux路由

·Destination表示路由的目标IP地址。

·Gateway表示网关使用的主机名或者是IP地址。上面输出的"*"表示没有网关。

·Genmask表示路由的网络掩码。在把它与路由的目标地址进行比较之前,内核通过Genmask和数据包的IP地址进行按位"与"操作来设置路由。

·Flags是表示路由的标志。可用的标志及其意义是:U表示路由在启动,H表示target是一台主机,G表示使用网关,R表示对动态路由进行复位设置;D表示动态安装路由,M表示修改路由,!表示拒绝路由。

·Metric表示路由的单位开销量。

·Ref表示依赖本路由现状的其它路由数目。

·Use表示路由表条目被使用的数目。

·Iface表示路由所发送的包的目的网络。

通过查看这些输出信息,我们就可以方便地管理网络的路由表了。

第四组命令: ping、traceroute、netstat、host和nslookup

4.1)ping

作用:通过ICMP数据包来进行整个网络的状况报告。

例1:检测主机168.95.1.1是否连通

# ping -c 3 168.95.1.1

例2:检测整个网段有多少主机存活

# ping -c 3 -b 192.168.1.255

例3:追踪MTU大小

# ping -c 3 -s 8000 -M do 192.168.10.10

-s参数表示发送的ICMP包大小为8000个字节,-M do表示不能拆包,结果将返回错误信息。

PING 192.168.1.2 (192.168.1.2) 8000(8028) bytes of data.

From 192.168.1.3 icmp_seq=1 Frag needed and DF set (mtu = 1500)

From 192.168.1.3 icmp_seq=1 Frag needed and DF set (mtu = 1500)

--- 192.168.1.2 ping statistics ---

0 packets transmitted, 0 received, +2 errors

上面的错误信息表示MTU为1500字节,如果不能拆包,便无法进行传递。

4.2)traceroute

作用:显示数据包到目标主机的路径。

这个命令会针对通往目的主机的所有router进行ICMP的超时等待,并测试回复时间。如果在默认的5秒钟之内traceroute听不到节点的回应,那么屏幕上就会出现一个*的符号,告知该节点无法有顺利的响应。这可能是由于有些防火墙或者主机将ICMP数据包丢掉,或者某些gateway不支持traceroute的功能。

4.3)netstat

这个命令的详细使用方法在我的另一篇博客文章中已经有了叙述。

参数:

-r:列出Linux路由表(route table)

-n:不使用主机名称与服务名称,使用IP与Port Number

-a:列出所有联机状态,包括tcp/udp/unix socket

-t:列出TCP数据包的连接

-u:列出UDP数据包的连接

-l: 列出在listen(监听)的服务之网络状态

-p:列出PID与Program的文件名

-c:可以设置几秒后自动更新一次网络状态的显示

5)host

作用:查出某个主机名称的IP,利用/etc/resolv.conf文件里的DNS主机查询主机的IP地址

例1:

# host yahoo.com.cn

yahoo.com.cn has address 202.165.102.205

yahoo.com.cn mail is handled by 10 mta-v1.mail.vip.cnb.yahoo.com.

6)nslookup

作用:功能与host基本相同。

语法:nslookup [-query=[type]] [hostname|IP]

-query=type:查询的类型,除了传统的IP与主机的对应外,DNS还有很多信息。如mx,cname。

例1:host-->IP

# nslookup www.google.cn

Server: 192.168.1.1

Address: 192.168.1.1#53

Non-authoritative answer:

www.google.cn canonical name = google.cn.

Name: google.cn

Address: 203.208.37.104

Name: google.cn

Address: 203.208.37.99

例2:IP-->host

# nslookup 168.95.1.1

server: 192.168.1.1

Address: 192.168.1.1#53

Non-authoritative answer:

1.1.95.168.in-addr.arpa name = dns.hinet.net.

Authoritative answers can be found from:

1.95.168.in-addr.arpa nameserver = dns.hinet.net.

1.95.168.in-addr.arpa nameserver = hntp1.hinet.net.

1.95.168.in-addr.arpa nameserver = hntp3.hinet.net.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: