linux系统网络命令(二)

一、linux 下iptoute2网络配置工具

        前面我们已经学习使用了ifconfig、route两个关于网络配置的命令,这两个命令和netstat、arp等命令是属于net-tools的rpm的安装包,现在已经有了一个新的工具包用来取代上面的命令,安装包为iproute,包内包含了新的命令ip、ss,这俩命令很强大通过下图就可以看出。

wKioL1WlG7_SG0iwABaxXxS5TNY573.jpg

二、linux 下ip命令的使用

1、ip命令简介

        ip是iproute软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。下图可以看出ip命令的常用搭配及介绍。

wKiom1WlGhmAaNgsAAUAi-EIZJs031.jpg

2、常用的选项

-V,-Version 打印ip的版本并退出。

-s,-stats,-statistics 输出更为详尽的信息。如果这个选项出现两次或多次,则输出的信息将更为详尽。

-f,-family 这个选项后面接协议种类,包括inet、inet6或link,强调使用的协议种类。如果没有足够的信息告诉ip使用的协议种类,ip就会使用默认值inet或any。link比较特殊,它表示不涉及任何网络协议。

-4 是-family inet的简写。

-6 是-family inet6的简写。

-0 是-family link的简写。

-o,-oneline 对每行记录都使用单行输出,回行用字符代替。如果需要使用wc、grep等工具处理ip的输出,则会用到这个选项。

-r,-resolve 查询域名解析系统,用获得的主机名代替主机IP地址


3、ip命令使用举例

由于ip命令使用功能较多,本篇就介绍常用的ip link、ip addr、ip route的使用。


3.1、ip link使用举例

启动关闭网卡:

[root@hpf-linux ~]# ip link set dev eth0 up          //启动网卡,dev可以省略,set可写成s
[root@hpf-linux ~]# ip link set dev eth0 down        //关闭网卡


显示设备属性:

[root@hpf-linux ~]# ip -s -s link show eth0
//-s选项出现两次或者更多次,ip会输出更为详细的错误信息统计。
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:7a:e4:0e brd ff:ff:ff:ff:ff:ff
    RX: bytes  packets  errors  dropped overrun mcast  
    43571980   35915    0       0       0       0      
    RX errors: length  crc     frame   fifo    missed
               0        0       0       0       0      
    TX: bytes  packets  errors  dropped carrier collsns
    2659582    24034    0       0       0       0      
    TX errors: aborted fifo    window  heartbeat
               0        0       0       0

上例中show还可以用list、lst、sh、ls、l 来代替。


3.2、ip addr 使用举例

显示协议地址:

[root@hpf-linux ~]# ip addr show eth0           //show还可以用list、lst、sh、ls、l 来代替
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:7a:e4:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.110/24 brd 192.168.1.255 scope global eth0
    inet6 fe80::20c:29ff:fe7a:e40e/64 scope link 
       valid_lft forever preferred_lft forever


添加一个新的协议地址:

 在以太网接口eth0上增加一个地址192.168.1.2,标签为eth0:0:

[root@hpf-linux ~]# ip addr add 192.168.1.2/24 dev eth0 label eth0:0
[root@hpf-linux ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:7a:e4:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.110/24 brd 192.168.1.255 scope global eth0
    inet 192.168.1.2/24 scope global secondary eth0:0
    inet6 fe80::20c:29ff:fe7a:e40e/64 scope link 
       valid_lft forever preferred_lft forever


删除一个协议地址:

[root@hpf-linux ~]# ip addr del 192.168.1.2/24 dev eth0 label eth0:0
[root@hpf-linux ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:7a:e4:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.110/24 scope global eth0
    inet6 fe80::20c:29ff:fe7a:e40e/64 scope link 
       valid_lft forever preferred_lft forever


在eth0上增加个ip地址:

[root@hpf-linux ~]# ip addr add dev eth0 192.168.1.23/24
[root@hpf-linux ~]# ip addr show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/ether 00:0c:29:7a:e4:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.110/24 scope global eth0
    inet 192.168.1.23/24 scope global secondary eth0


清除协议地址:

[root@hpf-linux ~]# ip -4 addr flush label "eth0"

注意清除后用ssh登录的会断掉,需要在机器的虚拟终端添加上ip地址或者重启network服务才能从新链接到终端。


3、ip route 命令的使用

设置到网络192.168.1.0/24的路由经过网关192.168.1.1

[root@hpf-linux ~]# ip route add 196.168.1.0/24 via 192.168.1.1
[root@hpf-linux ~]# ip route
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.110
196.168.1.0/24 via 192.168.1.1 dev eth0
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 192.168.1.1 dev eth0


删除上例添加的网关:

[root@hpf-linux ~]# ip route del 196.168.1.0/24 via 192.168.1.1
[root@hpf-linux ~]# ip route
192.168.1.0/24 dev eth0  proto kernel  scope link  src 192.168.1.110
169.254.0.0/16 dev eth0  scope link  metric 1002
default via 192.168.1.1 dev eth0


删除路由表中的所有网关路由:

[root@hpf-linux ~]#  ip -4 ro flush scope global type unicast
[root@hpf-linux ~]# route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 e


获得单个路由ip route get:

        使用这个命令可以获得到达目的地址的一个路由以及它的确切内容。ip route get命令和ip route show命令执行的操作是不同的。ip route show命令只是显示现有的路由,而ip route get命令在必要时会派生出新的路由。 

搜索到61.135.169.125的路由:

[root@hpf-linux ~]# ip route get 61.135.169.125   
61.135.169.125 via 192.168.1.1 dev eth0  src 192.168.1.110 
    cache  mtu 1500 advmss 1460 hoplimit 64

        通过上面三个命令学习可以看出使用ip命令能代替ifconfig、route等命令,但是由于我们已经习惯的使用ifconfig、route命令以及ip命令的使用复杂性,在这里建议初学者还是使用老的命令,而有了一定的经验以后还是学着使用ip命令。由于本篇所用的ip命令比较简单,若想继续学习下面有一篇文章写的还是比较详细,建议看看。




http://www.cnblogs.com/bamboo-talking/archive/2013/01/10/2855306.html






你可能感兴趣的:(linux,IP)