linux基础学习第十八天之网络配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux基础学习第十八天之网络配置相关的知识,希望对你有一定的参考价值。

内容:

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

    ip命令的使用

    网卡别名设置

    多网卡的bonding设置

    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 [email protected]~]# cat /etc/sysconfig/network-scripts/route-eth1 
192.168.1.0/24 via 10.1.0.1 dev eth1
[14:39 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# ip addr add 10.1.22.33/16 dev eth1
[15:54 [email protected]~]# 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 [email protected]~]# ip addr del 10.1.22.33/16 dev eth1
[15:57 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# ifconfig eth1:1 10.1.12.22/16
[15:46 [email protected]~]# 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 [email protected]~]# modinfo bonding
filename:       /lib/modules/2.6.32-642.el6.x86_64/kernel/drivers/net/bonding/bonding.ko
author:         Thomas Davis, [email protected] 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 [email protected]~]# 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 [email protected]~]# service network restart
[19:04 [email protected]~]# 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 [email protected]~]# ifconfig eth1 down
[19:14 [email protected]~]# ifconfig 
[19:27 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]# 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

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

语法:

[19:48 [email protected]~]# 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 [email protected]~]# 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 [email protected]~]#  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]


本文出自 “6638225” 博客,转载请与作者联系!

以上是关于linux基础学习第十八天之网络配置的主要内容,如果未能解决你的问题,请参考以下文章

linux基础学习第十八天之进程管理和任务计划

linux基础学习第十八天之进程管理和任务计划

linux基础学习第十八天之进程管理和任务计划

linux基础学习第十八天之进程管理和任务计划

暑假第十八天之每天一些题系列

linux架构学习第二十八天之FTP协议以及vsftpd的使用