内容:

1、IP地址的相关设置(IP地址、网关、路由、DNS、主机名)

2、ip命令的使用

3、网卡别名设置

4、多网卡的bonding设置

5、IP地址的相关设置

    

一、IP地址的相关设置


    (1)配置IP地址:

        ifconfig:

        -a:显示所有网卡的信息

    ifconfig eth0 IPADDR/MASK [up|down]:配置立刻生效,但不是永久生效

    配置文件:重启网络服务或主机后会永久生效

    /etc/sysconfig/network-scripts/ifcfg-ethX


DEVICE=: 关联的设备名称,要与文件名的“ethX”保持一致【】; 
BOOTPROTO={static|none|dhcp|bootp}: 引导协议;要使用静态地址,使用static或none;dhcp表示使用DHCP服务器获取地址;
IPADDR=: IP地址
NETMASK=:子网掩码
GATEWAY=:设定默认网关;
ONBOOT=:开机时是否自动激活此网络接口;
HWADDR=: 硬件地址,要与硬件中的地址保持一致;可省;
USERCTL={yes|no}: 是否允许普通用户控制此接口;
PEERDNS={yes|no}: 是否在BOOTPROTO为dhcp时接受由DHCP服务器指定的DNS地址;


    (2)配置网关(路由):

        查看:route -n

        添加:route add

route add -net|host 网段 gw [NEXTHOP] [dev ethX]:配置立刻生效,但不是永久生效

        目标:192.168.1.3 网关:172.16.0.1

 # route add -host 192.168.1.3 gw172.16.0.1 dev eth0

        目标:192.168.0.0 网关:172.16.0.1

 # route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
  # route add -net 192.168.0.0/24 gw172.16.0.1 dev eth0

 

        默认路由,如网关:172.16.0.1

 # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
  # route add default gw 172.16.0.1

 

        删除:route del

route del [-net|-host] target [gwGw] [netmask Nm] [[dev] If]

        目标:192.168.1.3 网关:172.16.0.1

 # route del -host 192.168.1.3

        目标:192.168.0.0 网关:172.16.0.1

 # route del -net 192.168.0.0 netmask 255.255.255.0


        配置文件:重启网络服务或主机后会永久生效(在同个目录下创建一个route-ethX命名的文件)

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



添加格式(两种):

        1、 DEST via NEXTHOP(网关)多个网卡的情况下要指定设置网关的网卡: [dev ethX]

eg.

192.168.1.0/24 via 10.1.0.254 [dev ethX]


[14:37 root@Centos6.8~]# cat /etc/sysconfig/network-scripts/route-eth1 
192.168.1.0/24 via 10.1.0.1 dev eth1
[14:39 root@Centos6.8~]# route  -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
192.168.1.0     10.1.0.1        255.255.255.0   UG    0      0        0 eth1
10.1.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth0
10.1.0.0        0.0.0.0         255.255.0.0     U     0      0        0 eth1
169.254.0.0     0.0.0.0         255.255.0.0     U     1002   0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1003   0        0 eth1
0.0.0.0         10.1.0.1        0.0.0.0         UG    0      0        0 eth0


        2、 ADDRESS0=

                NETMASK0=

                GATEWAY0=


    (4)配置DNS(最多可配置3个DNS):

/etc/resolv.cof::开启DHCP服务后,DHCP服务器会修改此文件,要想DHCP不修改此文件,网卡配置中,设置PEERDNS=no

        nameserver IP1

        nameserver IP2

        nameserver IP3

    (5)设置主机名称:

    hostname HOSTNAME

    立即生效,但不是永久有效;

    /etc/sysconfig/network:重启机器后永久生效

    HOSTNAME=

    集合的配置命令:

        system-config-network-tui


setup

注意:该方式是直接修改配置文件,永久有效,和直接编辑配置文件效果一样,所以要想生效需要重启服务或主机



 ┌────────┤ Choose a Tool ├─────────┐

 │                                  │ 

 │   Authentication configuration   │ 

 │   Firewall configuration         │ 

 │   Keyboard configuration         │ 

 │   Network configuration          │ 

 │   System services                │ 

 │                                  │ 

 │      ┌──────────┐  ┌──────┐      │ 

 │      │ Run Tool │  │ Quit │      │ 

 │      └──────────┘  └──────┘      │ 

 │                                  │ 

 │                                  │ 

 └──────────────────────────────────┘ 

                                      


二、ip命令


ifconfig是一个相对较旧的命令,而ip命令提供了强大网络管理功能

[15:00 root@Centos6.8~]# ip --help
Usage: ip [ OPTIONS ] OBJECT { COMMAND | help }
ip [ -force ] -batch filename
where  OBJECT := { link | addr | addrlabel | route | rule | neigh | ntable |
tunnel | maddr | mroute | mrule | monitor | xfrm | token }
OPTIONS := { -V[ersion] | -s[tatistics] | -d[etails] | -r[esolve] |
-h[uman-readable] | -iec |
-f[amily] { inet | inet6 | ipx | dnet | link } |
-o[neline] | -t[imestamp] | -b[atch] [filename] |
-rc[vbuf] [size]}


    ip link:查看网卡借口属性

    ip addr:查看IP地址属性

    ip route:查看和修改路由信息


    link

        show

        ip -s link show


    set

        ip link set DEV {up|down}


    addr

        add

        ip addr add ADDRESS dev DEV


[15:46 root@Centos6.8~]# ip addr add 10.1.22.33/16 dev eth1
[15:54 root@Centos6.8~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host 
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:00:32:3e brd ff:ff:ff:ff:ff:ff
inet 10.1.252.75/16 brd 10.1.255.255 scope global eth0
inet6 fe80::20c:29ff:fe00:323e/64 scope link 
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:00:32:48 brd ff:ff:ff:ff:ff:ff
inet 10.1.12.100/16 brd 10.1.255.255 scope global eth1
inet 10.1.12.22/16 brd 10.1.255.255 scope global secondary eth1:1
inet 10.1.22.33/16 scope global secondary eth1
inet6 fe80::20c:29ff:fe00:3248/64 scope link 
valid_lft forever preferred_lft forever


    del

        ip addr del ADDRESS dev DEV【其中ADDRESS最好连相应的掩码写上】


[15:57 root@Centos6.8~]# ip addr del 10.1.22.33/16 dev eth1
[15:57 root@Centos6.8~]# ip addr show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN 
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
inet 127.0.0.1/8 scope host lo
inet6 ::1/128 scope host 
valid_lft forever preferred_lft forever
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:00:32:3e brd ff:ff:ff:ff:ff:ff
inet 10.1.252.75/16 brd 10.1.255.255 scope global eth0
inet6 fe80::20c:29ff:fe00:323e/64 scope link 
valid_lft forever preferred_lft forever
3: eth1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
link/ether 00:0c:29:00:32:48 brd ff:ff:ff:ff:ff:ff
inet 10.1.12.100/16 brd 10.1.255.255 scope global eth1
inet 10.1.12.22/16 brd 10.1.255.255 scope global secondary eth1:1
inet6 fe80::20c:29ff:fe00:3248/64 scope link 
valid_lft forever preferred_lft forever

    show

        ip addr show dev DEV to PREFIX

        flush:批量删除IP地址

        ip addr flush dev DEV to PREFIX

    route 

        add:添加路由

        del:删除路由


三、配置网卡别名

    一个网卡可以起多个别名,每个别名可以配一个IP地址,也就是说一个网卡可以配多个IP地址, LINUX最多可以支持255个IP别名。

            注意:别名网卡不能使用DHCP服务

    别名规则(冒号隔开):

    eth0

    ethX:X, eth0:0, eth0:1, ...


配置方法:

    临时生效:

    ifconfig eth0:0 10.1.12.22/16 

[15:44 root@Centos6.8~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
inet addr:10.1.252.75  Bcast:10.1.255.255  Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe00:323e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:35153 errors:0 dropped:0 overruns:0 frame:0
TX packets:2380 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:3079239 (2.9 MiB)  TX bytes:326423 (318.7 KiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:00:32:48  
inet addr:10.1.12.100  Bcast:10.1.255.255  Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe00:3248/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:30111 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:2522769 (2.4 MiB)  TX bytes:5552 (5.4 KiB)
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:65536  Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:576 (576.0 b)  TX bytes:576 (576.0 b)
[15:44 root@Centos6.8~]# ifconfig eth1:1 10.1.12.22/16
[15:46 root@Centos6.8~]# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
inet addr:10.1.252.75  Bcast:10.1.255.255  Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe00:323e/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:35677 errors:0 dropped:0 overruns:0 frame:0
TX packets:2454 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:3122914 (2.9 MiB)  TX bytes:335035 (327.1 KiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:00:32:48  
inet addr:10.1.12.100  Bcast:10.1.255.255  Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe00:3248/64 Scope:Link
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
RX packets:30526 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:2557498 (2.4 MiB)  TX bytes:5552 (5.4 KiB)
eth1:1    Link encap:Ethernet  HWaddr 00:0C:29:00:32:48  
inet addr:10.1.12.22  Bcast:10.1.255.255  Mask:255.255.0.0
UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
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:65536  Metric:1
RX packets:8 errors:0 dropped:0 overruns:0 frame:0
TX packets:8 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:576 (576.0 b)  TX bytes:576 (576.0 b)

    永久生效配置文件(只能配置静态IP地址):

        /etc/sysconfig/network-scripts/ifcfg-ethX:X

        DEVICE=ethX:X



四、配置Bonding:

        Bonding:端口绑定,通过bonding技术,可以将多个网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。

        详细参考资料可以查阅:/usr/src/linux/Documentation/networking/bonding.txt

        Bonding的工作模式(共7种):

      

  0. round robin,
  1.active-backup,
  2.load balancing (xor),  
  3.fault-tolerance (broadcast), 
  4.lacp,  
  5.transmit load balancing, 
  6.adaptive load balancing。


常用的有三种模式:

    Mode 0 (balance-rr)

        轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

    Mode 1 (active-backup)

        活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave接口失败时才会激活其他slave。

    Mode 3 (broadcast)

        广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。



Bonding配置(两块网卡组成mode1为例)步骤:

        注意:配置bonding需要把NetworkManager服务停掉,此服务会与bonding网卡冲突!

service NetworkManager stop
chkconfig NetworkManager off

        1、确认内核是否已经安装bonding模块:

modinfo bonding:如果没有反应,说明内核中bonding模块还没有安装

[17:25 root@Centos6.8~]# modinfo bonding
filename:       /lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/bonding/bonding.ko
author:         Thomas Davis, tadavis@lbl.gov and many others
description:    Ethernet Channel Bonding Driver, v3.7.1
version:        3.7.1
license:        GPL
alias:          rtnl-link-bond
srcversion:     F6C1815876DCB3094C27C71
depends:        
vermagic:       2.6.32-642.el6.x86_64 SMP mod_unload modversions 
parm:           max_bonds:Max number of bonded devices (int)
parm:           tx_queues:Max number of transmit queues (default = 16) (int)
parm:           num_grat_arp:Number of peer notifications to send on failover event (alias of num_unsol_na) (int)
parm:           num_unsol_na:Number of peer notifications to send on failover event (alias of num_grat_arp) (int)
parm:           miimon:Link check interval in milliseconds (int)
parm:           updelay:Delay before considering link up, in milliseconds (int)



    2、创建一个bond:bond0(这里仅配置必要参数):说明:miimon是用来进行链路监测的。 比如:miimon=100,那么系统每100ms监测一次链路连接状态

cat /etc/sysconfig/network-scripts/ifcfg-bond0
DEVICE=bond0
IPADDR=10.1.44.42
PREFIX=16
BONDING_OPTS="miior=100 mode=1"



    3、设置两块网卡参数(这里仅配置必要参数)

[19:00 root@Centos6.8~]# paste -d# /etc/sysconfig/network-scripts/ifcfg-eth1 /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth1#DEVICE=eth0
MASTER=bond0#MASTER=bond0
SLAVE=yes#SLAVE=yes



    4、重启网络服务,生效bonding

[19:00 root@Centos6.8~]# service network restart
[19:04 root@Centos6.8~]# ifconfig
bond0     Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
inet addr:10.1.44.42  Bcast:10.1.255.255  Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe00:323e/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
RX packets:2071 errors:0 dropped:0 overruns:0 frame:0
TX packets:101 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:182260 (177.9 KiB)  TX bytes:9731 (9.5 KiB)
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:100009 errors:0 dropped:0 overruns:0 frame:0
TX packets:7885 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:8681752 (8.2 MiB)  TX bytes:1195230 (1.1 MiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:89241 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:7613508 (7.2 MiB)  TX bytes:5552 (5.4 KiB)

 

    5、测试mode1是否有效果(关闭一块网卡)

[19:07 root@Centos6.8~]# ifconfig eth1 down
[19:14 root@Centos6.8~]# ifconfig 
[19:27 root@Centos6.8~]# ifconfig -a
bond0     Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
inet addr:10.1.44.42  Bcast:10.1.255.255  Mask:255.255.0.0
inet6 addr: fe80::20c:29ff:fe00:323e/64 Scope:Link
UP BROADCAST RUNNING MASTER MULTICAST  MTU:1500  Metric:1
RX packets:15889 errors:0 dropped:0 overruns:0 frame:0
TX packets:1993 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:0 
RX bytes:1422045 (1.3 MiB)  TX bytes:232622 (227.1 KiB)
eth0      Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
UP BROADCAST RUNNING SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:109795 errors:0 dropped:0 overruns:0 frame:0
TX packets:9775 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:9557260 (9.1 MiB)  TX bytes:1417429 (1.3 MiB)
eth1      Link encap:Ethernet  HWaddr 00:0C:29:00:32:3E  
BROADCAST SLAVE MULTICAST  MTU:1500  Metric:1
RX packets:93272 errors:0 dropped:0 overruns:0 frame:0
TX packets:65 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:1000 
RX bytes:7977725 (7.6 MiB)  TX bytes:5552 (5.4 KiB)
64 bytes from 10.1.44.42: icmp_seq=32 ttl=64 time=0.941 ms
64 bytes from 10.1.44.42: icmp_seq=33 ttl=64 time=0.780 ms
64 bytes from 10.1.44.42: icmp_seq=34 ttl=64 time=1.13 ms
64 bytes from 10.1.44.42: icmp_seq=35 ttl=64 time=2.00 ms
64 bytes from 10.1.44.42: icmp_seq=36 ttl=64 time=6.96 ms
64 bytes from 10.1.44.42: icmp_seq=37 ttl=64 time=1.02 ms
64 bytes from 10.1.44.42: icmp_seq=38 ttl=64 time=0.996 ms
64 bytes from 10.1.44.42: icmp_seq=39 ttl=64 time=1.26 ms
64 bytes from 10.1.44.42: icmp_seq=40 ttl=64 time=4.84 ms


    虚拟机测试只能测试mode1,其他模式需要连接交换机的设置


      6、bonding删除:

            ifconfig bond0 down
            modprobe -r  bond0


    网卡命名:

    网络接口识别并命名相关的udev配置文件:

        /etc/udev/rules.d/70-persistent-net.rules

    卸载网卡驱动:

   

 modprobe-r e1000

    装载网卡驱动:

modprobee1000


    centos7的网络属性:

        rhel6之前,网络接口使用连续号码命名:eth0、eth1等,当增加或删除网卡时,名称可能会发生变化。

        rhel7使用基于硬件,设备拓扑和设置类型命名:

        systemd对网络设备的命名方式

            (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1

            (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1

            (c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0

            (d) 如果用户显式启动,也可根据MAC地址进行命名,enx2387a1dc56;

            (e) 上述均不可用时,则使用传统命名机制



    将centos7的命名方式改回传统的命名方式:

        (1) 编辑/etc/default/grub配置文件

    GRUB_CMDLINE_LINUX="net.ifnames=0 rhgbquiet"

    或:修改/boot/grub2/grub.cfg

        (2) 为grub2生成其配置文件

grub2-mkconfig -o /etc/grub2.cfg

        (3) 重启系统


五、网络检测常用命令:

    1、netstat:显示网络连接:


    netstat[--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]

        -t: tcp协议相关

        -u: udp协议相关

        -w: raw socket相关

        -l: 处于监听状态

        -a: 所有状态

        -n: 以数字显示IP和端口;

        -e:扩展格式

        -p: 显示相关进程及PID

    常用组合:

        -tan, -uan, -tnl, -unl


示例:

显示接口统计数据:

netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
# netstat -i
# netstat -IIFACE
[17:52 root@Centos6.8~]# netstat -tunap
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address               Foreign Address             State       PID/Program name   
tcp        0      0 0.0.0.0:39340               0.0.0.0:*                   LISTEN      1614/rpc.statd      
tcp        0      0 0.0.0.0:111                 0.0.0.0:*                   LISTEN      1571/rpcbind        
tcp        0      0 0.0.0.0:22                  0.0.0.0:*                   LISTEN      1940/sshd           
tcp        0      0 127.0.0.1:631               0.0.0.0:*                   LISTEN      1658/cupsd          
tcp        0      0 10.1.249.136:22             10.1.24.55:49573            ESTABLISHED 2686/sshd           
tcp        0      0 :::38568                    :::*                        LISTEN      1614/rpc.statd      
tcp        0      0 :::111                      :::*                        LISTEN      1571/rpcbind        
tcp        0      0 :::22                       :::*                        LISTEN      1940/sshd           
tcp        0      0 ::1:631                     :::*                        LISTEN      1658/cupsd          
udp        0      0 0.0.0.0:111                 0.0.0.0:*                               1571/rpcbind        
udp        0      0 0.0.0.0:631                 0.0.0.0:*                               1658/cupsd          
udp        0      0 0.0.0.0:898                 0.0.0.0:*                               1571/rpcbind        
udp        0      0 127.0.0.1:942               0.0.0.0:*                               1614/rpc.statd      
udp        0      0 0.0.0.0:68                  0.0.0.0:*                               1418/dhclient       
udp        0      0 0.0.0.0:57807               0.0.0.0:*                               1614/rpc.statd      
udp        0      0 :::111                      :::*                                    1571/rpcbind        
udp        0      0 :::898                      :::*                                    1571/rpcbind        
udp        0      0 :::47150                    :::*                                    1614/rpc.statd
[19:21 root@Centos6.8~]# netstat -Ieth0
Kernel Interface table
Iface       MTU Met    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
eth0       1500   0   386196      0      0      0   180501      0      0      0 BMRU


2、ss:查看网络状态

        ss命令用于显示socket状态. 他可以显示PACKET sockets, TCP sockets, UDP sockets, DCCP sockets, RAW sockets, Unix domain sockets等等统计. 

        它比其他工具展示等多tcp和state信息. 它是一个非常实用、快速、有效的跟踪IP连接和sockets的新工具.SS命令可以提供如下信息:

            所有的TCP sockets

            所有的UDP sockets

            所有ssh/ftp/ttp/https持久连接

            所有连接到Xserver的本地进程

        使用state(例如:connected, synchronized, SYN-RECV, SYN-SENT,TIME-WAIT)、地址、端口过滤

所有的state FIN-WAIT-1 tcpsocket连接以及更多

        netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息,所以ss命令运行得出的结果会比netstat快。

        语法:

        ss[OPTION]... [FILTER]

        选项:

            -t: tcp协议相关

            -u: udp协议相关

            -w: 裸套接字相关

            -x:unixsock相关

            -l: listen状态的连接

            -a: 所有

            -n: 数字格式

            -p: 相关的程序及PID

            -e: 扩展的信息

            -m:内存用量

            -o:计时器信息

    常用组合:

        -tan, -tanl, -tanlp, -uan



[19:27 root@Centos6.8~]# ss -atn
State      Recv-Q Send-Q                                   Local Address:Port                                     Peer Address:Port 
LISTEN     0      128                                                 :::38568                                              :::*     
LISTEN     0      128                                                  *:39340                                               *:*     
LISTEN     0      128                                                 :::111                                                :::*     
LISTEN     0      128                                                  *:111                                                 *:*     
LISTEN     0      128                                                 :::22                                                 :::*     
LISTEN     0      128                                                  *:22                                                  *:*     
LISTEN     0      128                                          127.0.0.1:631                                                 *:*     
LISTEN     0      128                                                ::1:631                                                :::*     
ESTAB      0      52                                        10.1.249.136:22                                         10.1.24.55:49573 
[19:27 root@Centos6.8~]# ss -atnl
State      Recv-Q Send-Q                                   Local Address:Port                                     Peer Address:Port 
LISTEN     0      128                                                 :::38568                                              :::*     
LISTEN     0      128                                                  *:39340                                               *:*     
LISTEN     0      128                                                 :::111                                                :::*     
LISTEN     0      128                                                  *:111                                                 *:*     
LISTEN     0      128                                                 :::22                                                 :::*     
LISTEN     0      128                                                  *:22                                                  *:*     
LISTEN     0      128                                          127.0.0.1:631                                                 *:*     
LISTEN     0      128                                                ::1:631                                                :::*



    3、ping:检测主机。

        语  法:ping [-dfnqrRv][-c<完成次数>][-i<间隔秒数>][-I<网络界面>][-l<前置载入>][-p<范本样式>][-s<数据包大小>][-t<存活数值>][主机名称或IP地址]


        补充说明:执行ping指令会使用ICMP传输协议,发出要求回应的信息,若远端主机的网络功能没有问题,就会回应该信息,因而得知该主机运作正常。

        参  数:

            -d:使用Socket的SO_DEBUG功能。

            -c<完成次数>   设置完成要求回应的次数。

            -f:极限检测。

            -i<间隔秒数>:指定收发信息的间隔时间。

            -I<网络界面>:使用指定的网络界面送出数据包。

            -l<前置载入>:设置在送出要求信息之前,先行发出的数据包。

            -n:只输出数值。

            -p<范本样式>   设置填满数据包的范本样式。

            -q:不显示指令执行过程,开头和结尾的相关信息除外。

            -r:忽略普通的Routing Table,直接将数据包送到远端主机上。

            -R:记录路由过程。

            -s<数据包大小>   设置数据包的大小。

            -t<存活数值>   设置存活数值TTL的大小。

            -v:详细显示指令的执行过程。 

            -W:超时等待时间


[19:42 root@Centos6.8~]# ping 10.1.2.3 -c2 -W1
PING 10.1.2.3 (10.1.2.3) 56(84) bytes of data.
--- 10.1.2.3 ping statistics ---
2 packets transmitted, 0 received, 100% packet loss, time 2001ms
[19:43 root@Centos6.8~]# ping 10.1.2.3 
PING 10.1.2.3 (10.1.2.3) 56(84) bytes of data.
From 10.1.249.136 icmp_seq=1 Destination Host Unreachable
From 10.1.249.136 icmp_seq=2 Destination Host Unreachable
From 10.1.249.136 icmp_seq=3 Destination Host Unreachable
From 10.1.249.136 icmp_seq=4 Destination Host Unreachable
From 10.1.249.136 icmp_seq=5 Destination Host Unreachable
From 10.1.249.136 icmp_seq=6 Destination Host Unreachable
^C
--- 10.1.2.3 ping statistics ---
7 packets transmitted, 0 received, +6 errors, 100% packet loss, time 6486ms


    4、mtr:网络连通性判断综合性工具,它结合了ping, traceroute,nslookup 的相关特性。

语法:

[19:48 root@Centos6.8~]# mtr -h
usage: mtr [-hvrwctglspniu46] [--help] [--version] [--report]
[--report-wide] [--report-cycles=COUNT] [--curses] [--gtk]
[--raw] [--split] [--no-dns] [--address interface]
[--psize=bytes/-s bytes]
[--interval=SECONDS] HOSTNAME [PACKETSIZE]

        -h 提供帮助命令

        -v 显示mtr的版本信息

        -r 已报告模式显示

        -c 设置每秒发送数据包的数量

        -s 用来指定ping数据包的大小

        -n no-dns不对IP地址做域名解析

        -a 来设置发送数据包的IP地址 这个对一个主机由多个IP地址是有用的

        -i 使用这个参数来设置ICMP返回之间的要求默认是1秒

        -4 IPv4

        -6 IPv6


                           My traceroute  [v0.75]
Centos6.8 (0.0.0.0)                                                                                          Mon Sep  5 19:55:23 2016
Keys:  Help   Display mode   Restart statistics   Order of fields   quit
                                                                                             Packets               Pings
 Host                                                                                      Loss%   Snt   Last   Avg  Best  Wrst StDev
 1. 10.1.0.1                                                                                0.0%   143    0.6   0.9   0.3   6.6   0.6

 

    参数说明:

        Loss% -- 丢包率,单位是"%";

        Snt -- sent包的数量

        Last -- 最后一个包的延时

        Avg -- 所有包的平均延时

        Best -- 延时最小的包

        Wrst -- 延时最大的包

        StDev -- 标准偏差



    5、traceroute:路由追踪

        语法:

        traceroute [options] [host]

        options:

            -d   使用Socket层级的排错功能。

            -f<存活数值>   设置第一个检测数据包的存活数值TTL的大小。

            -F   设置勿离断位。

            -g<网关>   设置来源路由网关,最多可设置8个。

            -i<网络界面>   使用指定的网络界面送出数据包。

            -I   使用ICMP回应取代UDP资料信息。

            -m<存活数值>   设置检测数据包的最大存活数值TTL的大小。

            -n   直接使用IP地址而非主机名称。

            -p<通信端口>   设置UDP传输协议的通信端口。

            -r   忽略普通的Routing Table,直接将数据包送到远端主机上。

            -s<来源地址>   设置本地主机送出数据包的IP地址。

            -t<服务类型>   设置检测数据包的TOS数值。

            -v   详细显示指令的执行过程。

            -w<超时秒数>   设置等待远端主机回报的时间。

            -x   开启或关闭数据包的正确性检验。



6、nslookup

    nslookup命令的功能是查询一台机器的IP地址和其对应的域名。使用权限所有用户。

    语法:

    nslookup[ipaddress/domain]

    

    nslookup可以在命令后面直接加上要解析的IP或域名,

    也可以nslookup进入用户交互模式,在符号“>”后面输入要查询的IP地址域名,并回车即可。如果要退出该命令,输入“exit”,并回车即可。


[20:03 root@Centos6.8~]# nslookup 10.1.0.1
 ;; connection timed out; trying next origin
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached
[20:05 root@Centos6.8~]#  nslookup
> 10.1.0.1
;; connection timed out; trying next origin
;; connection timed out; trying next origin
;; connection timed out; no servers could be reached
> exit



    7、dig

        与nslookup功能相似,dig(域信息搜索器)命令是个用于询问 DNS 域名服务器的灵活的工具,dig 命令的功能比 nslookup 强大很多。

        语法:

     

 dig [@server] [-b address] [-c class] [-f filename] [-k filename] [-m] [-p port#] [-q name] [-t type] [-x addr]
           [-y [hmac:]name:key] [-4] [-6] [name] [type] [class] [queryopt...]
       dig [-h]

OK,更多内容请关注我的博客