当前位置: 澳门新濠3559 > 操作系统 > 正文

OSI七层模型澳门新濠3559:,通过命令配置的网络

时间:2019-11-08 15:11来源:操作系统
1、简述osi七层模型和TCP/IP四层模型 Linux网络属性配置命令和管理详解 一、Linux网络属性配置 1.Linux主机接入到网络方式 IP/NETMASK:实现本地网络通信 路由(网关):可以进行跨网络通信

1、简述osi七层模型和TCP/IP四层模型

Linux网络属性配置命令和管理详解

一、Linux网络属性配置

1.Linux主机接入到网络方式

IP/NETMASK:实现本地网络通信

路由(网关):可以进行跨网络通信

DNS服务器地址:基于主机名的通信,Linux可以有三个DNS地址

当第一个地址本身挂了,才会查找其备用地址;若第一个地址无法解析则停止

2.网络属性配置方式

(1)静态指定

1)命令方式

ifcfg系列命令:

ifconfig:配置IP,NETMASK

route:配置路由相关信息

netstat:状态及统计数据查看

iiproute2系列命令:

ip OBJECT:

addr:地址和掩码;

link:接口

route:路由

ss:状态及统计数据查看

CentOS 7:nm(Network Manager)家族

nmcli:命令行工具

nmtui:text window 工具

hostname/hostnamectl:主机名配置

2) 配置文件:

RedHat及相关发行版:/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

DNS服务器指定配置文件:/etc/resolv.conf

本地主机名配置文件:/etc/sysconfig/network

注:命令配置能及时生效,但时关闭当前进程之后配置失效,为一次性配置方式

通过配置文件配置网络属性,无法立即生效,需要重启服务、重新加载配置文件或者重启进程

(2)动态分配:依赖于本地网络中有DHCP服务

DHCP:Dynamic Host Configure Procotol, 动态主机配置协议,此时不能固定IP地址

3.网络接口命名

(1)传统命名

以太网:eth#,例如eth0, eth1, ...

PPP网络:ppp#, 例如,ppp0, ppp1, ...

(2)可预测命名方案(CentOS 7)

支持多种不同的命名机制,根据Fireware, 拓扑结构等信息自动配置

1) Firmware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1,eno2, ...

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

3) 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...

4) 如果用户显式定义,也可根据MAC地址命名,例如eno16777736(十六进制MAC), ...

5)上述均不可用,则仍使用传统方式命名;

(3)命名格式的组成

en:ethernet,表示因特网网卡接口

wl:wlan,表示无线网网卡接口

ww:wwan,Wireless Wide Area Network,表示无线广域网网卡

(4)名称类型:

o:集成设备的设备索引号;

s:扩展槽的索引号;

x:基于MAC地址的命名;

ps:基于总线及槽的拓扑结构进行命名;

二、ifcfg系列:fconfig, route, netstat

1.ifconfig:配置查看网络接口,默认不能显示第二地址,只能显示主地址

指明标签(接口别名)就能够显示了

(1)ifconfig[INTERFACE] 默认只会显示激活状态的网卡信息

# ifconfig -a:显示所有接口,包括inactive非激活状态接口;

注意:CentOS 6和CentOS 7显示结果有所不同

CentOS 7:

显示含义解析:

eno1677736:网卡接口名称:

flags:标志位,UP表示网卡启用激活状态

mtu:maximum transmission unit,网卡最大传输单元为1500字节

inet:IPv4地址; netmask:子网掩码; broadcast:广播地址

inet6:IPv6地址

HWaddr :以太网地址,对应于CentOS 6中的HWaddr硬件地址

txqueuelen 1000 (Ethernet):以太网传输队列长度

RX packets 7526 bytes 631299 (616.5 KiB):此次网卡激活后接搜到的报文数量,总大小

RX errors :接收时错误的个数;dropped:丢包个数;overruns:溢出个数; frame:帧

TX packets 162 bytes 18461 (18.0 KiB):传输的报文数量

TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0:传输的错误、丢包、溢出、帧

澳门新濠3559 1

CentOS 6:

eh0:网卡接口,其表现形式和CentOS 7有很大区别

HWaddr 00:0C:29:46:14:98硬件地址

澳门新濠3559 2

(2)ifconfig[-v] interface [aftype] options | address … 更改网卡IPv4地址

立即送往内核中的TCP/IP协议栈,并生效,远程连接修改,原来的地址会没有导致掉线

# ifconfigINTERFACE IP/MASK

# ifconfig INTERFACE IP netmask NETMASK :用netmask关键字

options: ifconfig INTERFACE OPTIONS

[-]promisc:混杂模式,-表示关闭混杂模式,直接加表示进入混杂模式

… …

管理IPv6地址:add|del addr/prefixlen

澳门新濠3559 3

(3)启用/关闭网卡

1)# ifconfig INTERFACE up|down

澳门新濠3559 4

2)ifup/ifdown命令:

注意:此命令是通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;

(4)删除指定接口网卡 的地址:

# ifconfig INTERFACE 0

澳门新濠3559 5

2.route命令:路由查看及管理

路由条目类型(三种):

主机路由:目标地址为单个IP;

网络路由:目标地址为IP网络;

默认路由:目标为任意网络,0.0.0.0/0.0.0.0

(1)查看:

# route -n

-n: 表示以数字形式显示信息,不反向解析地址和端口号

若有很多路由信息的时候,反向解析为主机名和端口名会占用很多资源开销

显示解析:

Destination:目标地址

Gateway:下一跳网管地址

0.0.0.0:表示本地主机的网络地址,自己的主机就在网络上无需网关,直连路由,

Genmask:目标网络的掩码地址

Flags:路由条目的标志

OSI七层模型澳门新濠3559:,通过命令配置的网络知识暂时实现系统联网。U (route is up):up,表示启用状态

H (target is a host):目标地址是一个主机地址

G (use gateway):使用一个网关

R (reinstate route for dynamic routing):为路由恢复动态路径选择

D (dynamically installed by daemon or redirect)

M (modified from routing daemon or redirect)

A (installed by addrconf)

C (cache entry)

! (reject route)

G:表示是一个网关,但不一定是目标网关,只有目标地址是0.0.0.0的才是默认网关

Metric:度量值,表示到达这个网络中间要进过的开销

Ref:Number of references to this route. (Not used in the Linux kernel.)

Use:Count of lookups for the route

Iface:通过本主机的哪块网卡接口对发送数据

澳门新濠3559 6

(2)添加:

route add [-net|-host] target [netmask Nm] [gw GW] [dev] If]

-net|-host :网络路由| 主机路由,默认路由为网络路由

target [netmask Nm] :目标地址,可以用简写子网掩码格式,也可以用关键字netmask完整格式

[gw GW] :gw为关键字,GW表示真正的下一跳地址

下一跳必须与自己的某块网卡在同一网段内,且存在

[dev] If]:进由哪块网卡,可以省略,能自动判断

澳门新濠3559 7

示例:

route add -net 10.0.0.0/8 gw 192.168.10.1 dev eth1

route add -net 0.0.0.0/0.0.0.0 gw 192.168.10.1 === route add default gw 192.168.10.1

(3)删除:

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

示例: route del -net 10.0.0.0/8 gw 192.168.10.1

route del default

澳门新濠3559 8

3.netstat命令:查看网络状态及统计数据

Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

显示网络连接、路由表、接口连接、伪装连接和多播成员关系

(1)显示路由表:# netstat -rn

-r:显示内核路由表

-n:以数字形式显示信息,不反向解析地址

澳门新濠3559 9

(2)显示网络连接信息:# netstat OPTIONS(常用组合:-tan, -uan, -tnl, -unl, -tunlp)

-t,--tcp:TCP协议的相关连接,连接均有其状态;FSM(Finate State Machine);

通信开始之前,要建立一个虚链路;通信完成后还要拆除链接

-u,--udp:UDP相关的连接;无连接的协议;直接发送数据报文

-w:raw socket裸套接字相关的连接

-l:处于监听状态的连接

-a:所有状态的连接

-n:以数字格式显示IP和Port;

-e:扩展格式

-p:显示相关的进程及PID;

澳门新濠3559 10

tcp状态:LISTEN、ESTABLISEHD、FIN_WAIT_1等待状态、FIN_WAIT_2、SYN_SENT、SYN_RECV、CLOSED

注意:传输 层协议区别(TCP|UDP)

tcp:面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;

udp:无连接的协议;直接发送数据报文;

(3)显示接口的统计数据:

netstat {--interfaces|-I|-i} [iface][--all|-a] [--extend|-e] [--verbose|-v] [--program|-p] [--numeric|-n]

所有接口:netstat -I

澳门新濠3559 11

指定接口:netstat -I,注意中间不能有空格

澳门新濠3559 12

4.配置主机名hostname/hostnamectl命令:

(1)hostname

查看:hostname

配置:hostname HOSTNAME,当前系统有效,重启后无效;

(2)hostnamectl命令(CentOS 7):该命令会直接修改配置文件生效

hostnamectl status:显示当前主机名信息;

hostnamectl HOSTNAME:设定主机名,永久有效;

澳门新濠3559 13

三、iproute系列:ip、ss

iproute2系列和内核关系紧密,直接放置到内核生效,其版本号和内核的版本号会保持一致

澳门新濠3559 14

Advanced IP routing and network device configuration tools :提供网络工具

澳门新濠3559 15

1.ip命令:show / manipulate routing, devices, policy routing and tunnels 策略路由、隧道、路由、设备

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route | netns }

注意: OBJECT可简写,各OBJECT的子命令也可简写;

(1)iplink:network device configuration,网络设备配置

1)ip link set :change device attributes,修改设备属性

dev NAME (default):指明要管理的设备,默认配置,dev关键字可省略;

up和down:启用,禁用

multicast on或multicast off:启用或禁用多播功能;

name NAME:重命名接口

mtu NUMBER:设置MTU的大小,默认为1500;

netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;

实例:

修改eth1名称,注意在修改前要先停用

[[email protected] ~]# ip link set eth1 down

[[email protected] ~]# ip link set eth1 name ethtest

[[email protected] ~]# ip link show

澳门新濠3559 16

2)ip link show/list :display device attributes,显示设备属性

澳门新濠3559 17

3)ip link help:显示简要使用帮助;

澳门新濠3559 18

(2)ip netns:manage network namespaces.管理网络名称空间

ip netns list:列出所有的netns

ip netns add NAME:创建指定的netns

ip netns del NAME:删除指定的netns

ip netns exec NAME COMMAND:在指定的netns中运行命令

(3)ip address: protocol address management. 协议地址管理

1)ip address add :add new protocol address,增加新的协议地址

ip addr add INTERFACEADDR dev INTERFACE

[label NAME]:为额外添加的地址指明接口别名;

[broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

[scope SCOPE_VALUE]:范围变量

global:全局可用;

link:接口可用;

host:仅本机可用;

澳门新濠3559 19

2)ip address delete :delete protocol address,删 除协议地址

# ip addr delete INTERFACEADDR dev IFACE

澳门新濠3559 20

3)ip address show:look at protocol addresses,查看协议地址

# ip addr list [IFACE]:显示接口的地址;

澳门新濠3559 21

4)ip address flush:flush protocol addresses,删 除指定接口上所有的的地址

# ip addr flush dev IFACE

澳门新濠3559 22

(4)ip route :outing table management,管理路由表

1)ip route add - add new route增加

ip route change - change route修改

ip route replace - change or add new one修改或者增加

ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]

示例:

# ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100

# ip route add default via GW

2)ip route delete - delete route

ip route del TYPE PRIFIX

3)ip route show - list routes

4)ip route flush - flush routing tables

5)ip route get - get a single route

ip route get TYPE PRIFIX

2.ss命令:查看网络状态及统计数据 ss [options] [ FILTER ]

(1)[OPTION]:

-t:TCP协议的相关连接

-u:UDP相关的连接

-w:raw socket相关的连接

-l:监听状态的连接

-a:所有状态的连接

-n:数字格式

-p:相关的程序及其PID

-e:扩展格式信息

-m:内存用量

-o:计时器信息

澳门新濠3559 23

(2)FILTER := [ state TCP-STATE ] [ EXPRESSION ] 状态过滤功能

可以过滤端口、状态等信息来查看

EXPRESSION:

dport =

sport =

示例:'( dport = :22 or sport = :22)'

~]# ss -tan '( dport = :22 or sport = :22 )'

澳门新濠3559 24

~]# ss -tan state ESTABLISHED

澳门新濠3559 25

四、nmcli命令:

nmcli [ OPTIONS ] OBJECT { COMMAND | help }

(1)device: show and manage network interfaces显示管理网络接口

COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

澳门新濠3559 26

(2)connection:start, stop, and manage network connections,

COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

(3)modify [ id | uuid | path ] [+|-].

如何修改IP地址等属性:

# nmcli conn modify IFACE [+|-]setting.property value

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

五、配置文件:

1.IP/NETMASK/GW/DNS等属性的配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

ifcfg-IFACE:实际接口名称;

澳门新濠3559 27

(1)vim编辑配置文件

配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性,可直接修改

1)fcfg-IFACE配置文件参数:

DEVICE:此配置文件对应的设备的名称;

ONBOOT:在系统引导过程中,是否激活此接口;

UUID:此设备的惟一标识;

IPV6INIT:是否初始化IPv6;

BOOTPROTO:激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;

TYPE:接口类型,常见的有Ethernet, Bridge;

DNS1:第一DNS服务器指向;

DNS2:备用DNS服务器指向;

DOMAIN:DNS搜索域;

IPADDR: IP地址;

NETMASK:子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码;

GATEWAY:默认网关;

USERCTL:是否允许普通用户控制此设备;

PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向覆盖本地手动指定的DNS服务器指向;默认为允许;

HWADDR:设备的MAC地址;

NM_CONTROLLED:是否使用NetworkManager服务来控制接口

在CentOS 6上networkManager不完善,集群、虚拟化桥接在此网络服务下无法使用

网络服务有两种:network、NetworkManager

2)管理网络服务:

CentOS 6: service SERVICE {start|stop|restart|status}

CentOS 7:systemctl {start|stop|restart|status} SERVICE[.service]

配置文件修改之后,如果要生效,需要重启网络服务;

CentOS 6:# service network restart

CentOS 7:# systemctl restart network.service

(2)专用的命令的进行修改

CentOS 6:system-config-network (setup)

# setup

澳门新濠3559 28

#system-config-network

澳门新濠3559 29

CentOS 7: nmtui

澳门新濠3559 30

2.路由的相关配置文件:/etc/sysconfig/network-scripts/route-IFACE

用到非默认网关路由:/etc/sysconfig/network-scripts/route-IFACE

支持两种配置方式,但不可混用;

(1) 每行一个路由条目: TARGET via GW

(2) 每三行一个路由条目:

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

3.给接口配置多个地址:

(1)ip addr add INTERFACEADDR dev INTERFACE label LABELNAME

(2)ifconfig IFACE_LABEL IPADDR/NETMASK

IFACE_LABEL: eth0:0, eth0:1, ...

(3)为别名添加配置文件;

DEVICE=IFACE_LABEL

BOOTPROTO:网上别名不支持动态获取地址;

static, none

4.hostname配置文件:/etc/sysconfig/network

命令:HOSTNAME=

注意:此方法的设置不会立即生效; 重读配置文件或者重启系统后后会一直有效;

5.配置DNS服务器指向:

配置文件:/etc/resolv.conf,添加 nameserver DNS_SERVER_IP

6./etc/hosts 别名,名称解析,事先生效,先查看此文件。

一、Linux网络属性配置 1.Linux主机接入到网络方式 IP/NETMASK:实现本地网络通信 路由(网关):可以进行跨...

前言:

这篇博客的主旨就想文章题目说的那样,当我们拿到一台新的系统时,我们怎么实现让你的主机连接到网络中。配置网络就是给你的系统配置IP地址,子网掩码,网关以及DNS。也就是说配置好这几项计算机上网的主要条件,就能实现你的系统联网了。此外,配置网络总结来讲有两种方法;一是通过命令直接配置。通过命令配置的网络知识暂时实现系统联网,想要游泳联网就要通过把配置内容写入配置文件来实现了。配置网络虽然步骤并不复杂但是其背后的知识量还是相当庞大的,我们只有了解其中的配置原理才能正确高效的去配置网络从而实现计算机联网。这篇博客主要介绍了配置网络的常用命令,以及配置文件。通过示例的形式让你更直观的去理解配置方法。CentOS7版本经过改版以后这部分内容与之前的CentOS版本相差较大,我会把CentOS7版本的相关知识分开单独介绍。

Centos6&&Centos7网络管理命令

一、网络的意义

时至今日,互联网已经成了人类发展中最重要的资源,在人类还没有足够充分的准备来迎接网络时代的来临时,它就已经成了我们生活中与一切行动紧密相关的内容。我们已无法离开网络,就象生活少不了吃饭一样。虽然没有网络时代的人也存在了上万年,创造出了种种伟大的文明和辉煌成就,但是人的欲望和智慧总是相依相伴的,欲望一旦促使智慧得到开启后,会变得一发不可收拾,无法再回头。

随着网络的发展和壮大。各互联网公司对网络的安全,可靠要求也越来越大。网络管理已经成为我们必须熟悉掌握的一项基本技能。

二、Centos 6的网络管理(以太网)

centos 6网络接口的命名方式:eth[0,1,2],centos 6的网路接口命名根据mac地址来识别,第一个识别到的网卡命名为eth0,第二个识别的为eth1,以此类推。这种情况可能会导致当你在eth0配置好了网络配置文件后。当eth0这块网卡坏掉了。我们买了一块新的网卡还是插回原来的槽中,但是网卡名字已经更改为eth1。这会导致之前的网络配置文件无法使用。这个情况在centos 7上得到了改善,这个我们第三章再做说明。

ifconfig命令(立即生效,但是重启系统后即失效)

ifconfig [interface]

# ifconfig -a

[[email protected]~]``#ifconfig-a``eth0Linkencap:EthernetHWaddr08:00:27:78:CB:FC````inetaddr:192.168.0.114Bcast:192.168.0.255Mask:255.255.255.0````inet6addr:fe80::a00:27ff:fe78:cbfc``/64``Scope:Link````UPBROADCASTRUNNINGMULTICASTMTU:1500Metric:1````RXpackets:189errors:0dropped:0overruns:0frame:0````TXpackets:308errors:0dropped:0overruns:0carrier:0````collisions:0txqueuelen:1000````RXbytes:20800(20.3KiB)TXbytes:53808(52.5KiB)````Baseaddress:0xd010Memory:f0000000-f0020000``loLinkencap:LocalLoopback````inetaddr:127.0.0.1Mask:255.0.0.0````inet6addr:::1``/128``Scope:Host````UPLOOPBACKRUNNINGMTU:16436Metric:1````RXpackets:8errors:0dropped:0overruns:0frame:0````TXpackets:8errors:0dropped:0overruns:0carrier:0````collisions:0txqueuelen:0````RXbytes:560(560.0b)TXbytes:560(560.0b)``#显示所有网卡信息

# ifconfig IFACE [up|down]

#禁用或启用指定的网卡eth0``[[email protected]~]``#ifconfigeth0down``[[email protected]~]``#ifconfigeth0up

ifconfig interface [aftype] options | address ...

# ifconfig IFACE IP/mask [up]

#为eth0配置IP地址,后面直接指定掩码位数``[[email protected]~]``#ifconfigeth0192.168.1.1/24

# ifconfig IFACE IP netmask MASK

#为eth0配置IP地址,后面直接输入netmask+掩码``[[email protected]~]``#ifconfigeth0192.168.1.1netmask255.255.255.0

route命令(路由管理命令)

查看:route -n

[[email protected]~]``#route-n``KernelIProutingtable``DestinationGatewayGenmaskFlagsMetricRefUseIface``192.168.0.00.0.0.0255.255.255.0U000eth0``0.0.0.0192.168.0.10.0.0.0UG000eth0

添加:route add

route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]

#指定去往192.168.0.88的目标主机网关为192.168.0.1,经由eth0网卡转发``[[email protected]~]``#routeadd-host192.168.0.88gw192.168.0.1deveth0``[[email protected]~]``#route-n``KernelIProutingtable``DestinationGatewayGenmaskFlagsMetricRefUseIface``192.168.0.88192.168.0.1255.255.255.255UGH000eth0

其中Flags为路由标志,标记当前网络节点的状态:

UUp表示此路由当前为启动状态

HHost,表示此网关为一主机

GGateway,表示此网关为一路由器

RReinstateRoute,使用动态路由重新初始化的路由

DDynamically,此路由是动态性地写入

MModified,此路由是由路由守护程序或导向器动态修改

!表示此路由当前为关闭状态

#指定去往192.168.0.0的目标网络网关为192.168.0.1,经由eth0网卡转发``[[email protected]~]``#routeadd-net192.168.0.0netmask255.255.255.0gw192.168.0.1deveth0``[[email protected]~]``#routeadd-net192.168.0.0/24gw192.168.0.1deveth0``[[email protected]~]``#route-n``KernelIProutingtable``DestinationGatewayGenmaskFlagsMetricRefUseIface``192.168.0.0192.168.0.1255.255.255.0UG000eth0

#指定网关为192.168.0.1的默认路由,默认路由只需要添加一条,添加多条以第一条为准``[[email protected]~]``#routeadd-net0.0.0.0/32gw192.168.0.1``[[email protected]~]``#routeadddefaultgw192.168.0.1``[[email protected]~]``#route-n``KernelIProutingtable``DestinationGatewayGenmaskFlagsMetricRefUseIface``0.0.0.0192.168.0.10.0.0.0UG000eth0

删除:route del

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

#删除主机路由``[[email protected]~]``#routedel-host192.168.0.88``#删除网络路由``[[email protected]~]``#routedel-net192.168.0.0netmask255.255.255.0``#删除默认路由``[[email protected]~]``#routedeldefault

DNS服务器指定:

编辑:/etc/resolv.conf

nameserver DNS_SERVER_IP1(nameserver 8.8.8.8)

nameserver DNS_SERVER_IP2

nameserver DNS_SERVER_IP3

FQDN:(Fully Qualified Domain Name)完全合格域名/全称域名,是指主机名加上全路径,全路径中列出了序列中所有域成员。全域名可以从逻辑上准确地表示出主机在什么地方,也可以说全域名是主机名的一种完全表示形式。从全域名中包含的信息可以看出主机在域名树中的位置。DNS解析流程:首先查找本机HOSTS表,有的直接使用表中定义,没有查找网络连接中设置的DNS 服务器由他来解析。

正解:FQDN-->IP(www.google.com-->216.58.221.36)

# dig -t A FQDN

[[email protected]~]``#dig-tAwww.google.com``;<<>>DiG9.3.4-P1<<>>-tAwww.google.com``;;globaloptions:printcmd``;;Gotanswer:``;;->>HEADER<<-opcode:QUERY,status:NOERROR,``id``:38677``;;flags:qrrdra;QUERY:1,ANSWER:1,AUTHORITY:4,ADDITIONAL:4``;;QUESTIONSECTION(这里是我们疑问的问题):``;www.google.com. IN A``;;ANSWERSECTION(这里是我们回答我们的问题):``www.google.com. 370 IN A 216.58.221.36``;;AUTHORITYSECTION:``google.com. 11188 IN NS ns2.google.com.``google.com. 11188 IN NS ns1.google.com.``google.com. 11188 IN NS ns4.google.com.``google.com. 11188 IN NS ns3.google.com.``;;ADDITIONALSECTION:``ns1.google.com. 30626 IN A 216.239.32.10``ns2.google.com. 12121 IN A 216.239.34.10``ns3.google.com. 21582 IN A 216.239.36.10``ns4.google.com. 10738 IN A 216.239.38.10``;;Query``time``:12msec``;;SERVER:8.8.8.8``#53(8.8.8.8)(这里是我们指定为我们做解析的的DNS服务器)``;;WHEN:ThuSep317:27:022015``;;MSGSIZErcvd:184

# host -t A FQDN

[[email protected]~]``#host-tAwww.google.com``www.google.comhasaddress216.58.221.36

反解:IP-->FQDN(216.58.221.36-->www.google.com)

# dig -x IP

[[email protected]~]``#dig-x216.58.221.36``;<<>>DiG9.3.4-P1<<>>-x216.58.221.36``;;globaloptions:printcmd``;;Gotanswer:``;;->>HEADER<<-opcode:QUERY,status:NOERROR,``id``:46451``;;flags:qrrdra;QUERY:1,ANSWER:2,AUTHORITY:4,ADDITIONAL:4``;;QUESTIONSECTION:``;36.221.58.216.``in``-addr.arpa. IN PTR``;;ANSWERSECTION:``36.221.58.216.``in``-addr.arpa.281 IN PTR hkg08s13-``in``-f4.1e100.net.``36.221.58.216.``in``-addr.arpa.281 IN PTR hkg08s13-``in``-f36.1e100.net.``;;AUTHORITYSECTION:``221.58.216.``in``-addr.arpa.38624 IN NS ns1.google.com.``221.58.216.``in``-addr.arpa.38624 IN NS ns3.google.com.``221.58.216.``in``-addr.arpa.38624 IN NS ns2.google.com.``221.58.216.``in``-addr.arpa.38624 IN NS ns4.google.com.``;;ADDITIONALSECTION:``ns1.google.com. 30015 IN A 216.239.32.10``ns2.google.com. 11510 IN A 216.239.34.10``ns3.google.com. 20971 IN A 216.239.36.10``ns4.google.com. 10127 IN A 216.239.38.10``;;Query``time``:13msec``;;SERVER:8.8.8.8``#53(8.8.8.8)``;;WHEN:ThuSep317:37:142015``;;MSGSIZErcvd:258

# host -t PTR IP

[[email protected]~]``#host-tPTR216.58.221.36``36.221.58.216.``in``-addr.arpadomainnamepointerhkg08s13-``in``-f36.1e100.net.``36.221.58.216.``in``-addr.arpadomainnamepointerhkg08s13-``in``-f4.1e100.net

netstat命令:

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships

显示网络连接:

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

#显示tcp协议相关的所有连接状态信息,以数字显示IP和端口``[[email protected]~]``#netstat-tan``ActiveInternetconnections(serversandestablished)``ProtoRecv-QSend-QLocalAddressForeignAddressState``tcp000.0.0.0:8330.0.0.0:*LISTEN``tcp000.0.0.0:1110.0.0.0:*LISTEN``tcp00127.0.0.1:6310.0.0.0:*LISTEN``tcp00127.0.0.1:250.0.0.0:*LISTEN``tcp00127.0.0.1:60100.0.0.0:*LISTEN``tcp00:::22:::*LISTEN``tcp00::1:6010:::*LISTEN``tcp00::ffff:192.168.0.114:22::ffff:192.168.0.107:62362ESTABLISHED

#显示tcp协议相关的所有连接状态信息的相关进程及PID,以数字显示IP和端口``[[email protected]~]``#netstat-tanp``ActiveInternetconnections(serversandestablished)``ProtoRecv-QSend-QLocalAddressForeignAddressStatePID``/Program``name``tcp000.0.0.0:8330.0.0.0:*LISTEN1923``/rpc``.statd``tcp000.0.0.0:1110.0.0.0:*LISTEN1894``/portmap``tcp00127.0.0.1:6310.0.0.0:*LISTEN2182``/cupsd``tcp00127.0.0.1:250.0.0.0:*LISTEN2206``/sendmail``:acce``tcp00127.0.0.1:60100.0.0.0:*LISTEN2508``/0``tcp00:::22:::*LISTEN2167``/sshd``tcp00::1:6010:::*LISTEN2508``/0``tcp00::ffff:192.168.0.114:22::ffff:192.168.0.107:62362ESTABLISHED2508``/0

显示路由表:

netstat {--route|-r} [--numeric|-n]

-r: 显示内核路由表

-n: 数字格式

[[email protected]~]``#netstat-rn``KernelIProutingtable``DestinationGatewayGenmaskFlagsMSSWindowirttIface``192.168.0.00.0.0.0255.255.255.0U000eth0``169.254.0.00.0.0.0255.255.0.0U000eth0``0.0.0.0192.168.0.10.0.0.0UG000eth0

显示接口统计数据:

netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]

-i:显示所有接口的统计数据

[[email protected]~]``#netstat-i``KernelInterfacetable``IfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg``eth01500082340006545000BMRU``lo1643603400034000LRU

-I IFACE:显示IFACE接口的统计数据(-I接口,参数和接口之间不用空格,直接连着打)

[[email protected]~]``#netstat-Ieth0``KernelInterfacetable``IfaceMTUMetRX-OKRX-ERRRX-DRPRX-OVRTX-OKTX-ERRTX-DRPTX-OVRFlg``eth01500082650006559000BMRU

ip命令:

ip - show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route }

link OBJECT:

ip link - network device configuration

setdev IFACEup:禁用指定接口

setdev IFACE down:禁用指定接口

[[email protected]~]``#iplinksetdeveth0down``[[email protected]~]``#iplinksetdeveth0up

show

[dev IFACE]:指定接口

[[email protected]~]``#iplinkshoweth0``2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_faststateUPmodeDEFAULTqlen1000````link``/ether``08:00:27:4d:f1:47brdff:ff:ff:ff:ff:ff

ip addr - protocol address management

ip addr { add | del } IFADDR dev STRING

[label LABEL]:添加地址时指明网卡别名

[scope {global(全局可用)|link(仅链接可用)|host(本机可用)}]:指明作用域

[broadcast ADDRESS]:指明广播地址

#add为添加多一个新IP地址``[[email protected]~]``#ipaddradd192.168.0.222/24labeleth0:0scopeglobaldeveth0``[[email protected]~]``#ipaddrshoweth0``2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000````link``/ether``08:00:27:78:cb:fcbrdff:ff:ff:ff:ff:ff````inet192.168.0.114``/24``brd192.168.0.255scopeglobaleth0````inet192.168.0.222``/24``scopeglobalsecondaryeth0:0````inet6fe80::a00:27ff:fe78:cbfc``/64``scopelink````valid_lftforeverpreferred_lftforever

ip addr show - look at protocol addresses

[dev DEVICE]

[label PATTERN]

[[email protected]~]``#ipaddrshoweth0``2:eth0:<BROADCAST,MULTICAST,UP,LOWER_UP>mtu1500qdiscpfifo_fastqlen1000````link``/ether``08:00:27:78:cb:fcbrdff:ff:ff:ff:ff:ff````inet192.168.0.114``/24``brd192.168.0.255scopeglobaleth0````inet192.168.0.222``/24``scopeglobalsecondaryeth0:0````inet6fe80::a00:27ff:fe78:cbfc``/64``scopelink````valid_lftforeverpreferred_lftforever

ip addr flush - flush protocol addresses

[dev DEVICE]:清空指定设备的所有IP地址,慎用,一执行所有IP地址都清空

ip route - routing table management

添加路由:ip route add TARGET via GW dev IFACE src SOURCE_IP

TARGET:主机路由直接输入IP。网络路由:NETWORK/MASK,地址加掩码

[[email protected]~]``#iprouteadd192.168.0.88via192.168.0.1``[[email protected]~]``#iprouteshow``192.168.0.88via192.168.0.1deveth0

添加网关:ip route add defalt via GW dev IFACE

ip route delete

删除路由:ip route del TARGET

[[email protected]~]``#iproutedel192.168.0.99

ip route show

[[email protected]~]``#iprouteshow``192.168.0.88via192.168.0.1deveth0

ip route flush

dev IFACE:清空指定设备的所有路由条目

ss和netstat都是用来查看网络状态的。但是在连接数异常多的时候ss的性能会比netstat快几倍。所以在连接数很多的时候建议使用ss

ss查看网络状态工具命令:

格式:ss [OPTION]... [FILTER]

选项:

-t: tcp协议相关

-u: udp协议相关

-w: 裸套接字相关

-x:unix sock相关

-l: listen状态的连接

-a: 所有

-n: 数字格式

-p: 相关的程序及PID

-e: 扩展的信息

-m:内存用量

-o:计时器信息

FILTER := [ state TCP-STATE ] [ EXPRESSION ]

TCP的常见状态:

tcp finite state machine:

LISTEN: 监听

ESTABLISHED:已建立的连接

FIN_WAIT_1

FIN_WAIT_2

SYN_SENT

SYN_RECV

CLOSED

EXPRESSION:

dport =

sport =

示例:’( dport = :ssh or sport = :ssh )’

常用组合:

-tan, -tanl, -tanlp, -uan

一、网络的意义 时至今日,互联网已经成了人类发展中最重要的资源,在人类还没有足够充分的准备来迎接网络时...

OSI七层模型

配置网络的内容:

IP/mask
路由:默认网关
DNS:服务器指向,域名解析
主DNS服务器
次DNS服务器
第三DNS服务器

澳门新濠3559 31

配置方式:

  1. 静态指定
    命令:
    ifcfg: ifconfig,route...
    ip: link,addr,route...
    编辑配置文件
    system-config-network-tui
  2. 动态分配
    DHCP: Dynamic Host Configuration Protocol

    ### 配置网络接口

    接口命名方式:
    CentOS 6:不稳定
    以太网:eth [0,1,2,3,...]
    CentOS7:
    网络接口的命名方式有所变化:网络接口的命名与物理环境有关。

TCP/IP四层模型

ifcfg命令家族

ifconfig,route,netstat

澳门新濠3559 32

ifconfig:

用来配置网络接口的命令,立即生效,但不是永久生效。
ifconfig [interface] #不加接口显示本机所有活动状态的网络接口,加接口只显示指定接口的信息
ifconfig -a # 显示本机所有网络接口
ifconfig IFACE [up|down] #启用禁用网络接口
ifconfig interface [aftype] options | address ...
ifconfig IFACE IP/netmask [up] #修改网络地址
示例:[root@CentOS6 ~]#ifconfig eth1 172.18.45.61/16
第二种写法相对复杂所以不用
ifconfig IFACE IP netmask NETMASK
注意:立即生效 启
启用混杂模式:[-]promisc #加-号禁用混杂模式

2、简述iproute家族命令

route:

路由管理命令 ,配置路由信息
route -n #查看路由信息
route add #添加路由
写法:
route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If]
-net :指定添加网络路由
-host:指定添加主句路由
如果目标网络是0.0.0.0那么表示添加的是一个默认路由
target:目标网络,如果目标是一个主机,那么表示目标主机的IP地址,如果目标是一个网,那么表示网络
gw:网关
dev:指定本地网卡
示例:
增加主机路由:
目标:192.168.1.3 网关:172.18.0.1
route add -host 192.168.1.3 gw 172.18.0.1 dev eth0 #添加主机路由默认mask值是32位精确匹配,所以不用写
增加网络路由:
目标:192.168.0.0 网关:172.18.0.1
route add -net 192.168.0.0/24 gw 172.18.0.1 dev eth0
增加默认路由:
route add default gw 172.18.0.1
删除主机路由:
目标:192.168.1.3 网关172.18.0.1
route dal -host 192.168.1.3
删除网络路由:
目标:192.168.0.0 网关:172.18.0.1
route del -net 192.168.0.0/24

ip命令:

netstat:

网络状态查看命令

  ip [OPTIONS] OBJECT {COMMAND|help}

显示网络连接:

netstat [--tcp|-t] [--udp|-u] [--raw|-w] [-listening|-l] [--all|-a] [--numeric|-n] [--extend|-e-extend|-e]][--program|-p]
-t: 显示TCP协议的相关链接
-u:显示UDP协议的相关链接
-w:显示裸套接字的相关链接,不经过传输层,由应用层直接调用ARP进行数据传输。
-l:只显示监听状态的连接
-a:显示所有连接
-n:不反解IP地址
-e:拓展格式
-p:显示与哪个程序建立连接
常用组合:
-tan:所有TCP相关的连接
-uan:所有UDP相关的连接
-tnl:TCP协议下,处于监听状态的连接
-unl:UDP协议下处于监听状态的连接(虽然UDP协议下没有网络状态的概念,但是仍然可以这样使用)

  ip link:network device configuration.

显示路由表:

netstat {--route|-r} [--numeric|-n]
-r: 显示内核路由表
-n: 数字格式

    ip link set DEV:修改设备属性

显示接口统计数据:

netstat {--interfaces|-I|-i} [iface] [--all|-a] [-extend|-e] [--program|-p] [--numeric|-n]
netstat -i #显示所有网络接口数据
netstat –IIFACE #显示指定接口网络数据I与接口名之间不能有空格
[root@CentOS6 ~]#netstat -Ieth0
ifconfig -s eth0

      1) up或down:启用或停用接口;示例,ip link set eth1 up/down

总结:

ifcfg家族命令:ifconfig,route,netstat

      2) multicast on 或 multicast off:启用或禁用多播功能;示例,ip link set eth1 multicast on/off

ip家族:

配置Linux网络属性:ip命令和ss命令

      3) name NAME:重命名接口;示例,ip link set eth1 name eth666

ip:

ip工具主要作用:显示或配置路由和设备
用法:ip [ OPTIONS ] OBJECT { COMMAND | help }
OBJECT := { link | addr | route }

      4) mtu NUMBER:设置MTU的大小,默认为1500;(MTU,最大传输单元,某一层通信协议上所能承受的最大数据包大小;MTU越大承载的有效数据包就越大)

ip link:

连接设备管理工具
子命令:

  1. set :设置
  2. show :显示
    set dev IFACE
    可设置属性:
    up and down:激活或禁用指定接口
    ifup/ifdown
    show [dev IFACE]:指定接口
    [up]:仅显示处于激活状态的接口

    #### ip addr:

    协议地址管理工具
    用法: ip addr { add | del... } IFADDR dev STRING
    子命令:

  3. add:增加指定接口的辅助IP地址
    三个选用项:
    [label PATTERN] :给指定接口添加别名
    [scope {global|link|host}]:指明作用域
    global: 全局可用
    link: 仅链接可用
    host: 本机可用
    [broadcast ADDRESS]:指明广播地址
    示例:ip addr add 172.16.100.100/16 dev eth0 label eth0:0

  4. del:删除指定接口的IP地址
    示例:ip addr del 172.16.100.100/16 dev eth0 label eth0:0
  5. replace:替换指定接口的IP地址
  6. show:显示指定接口的IP地址
  7. flush:清空指定接口或者指定别名的IP地址
    ip address flush dev
  8. change:修改指定接口的IP地址

    #### ip route

    路由管理工具
    添加路由:ip route add
    ip route add TARGET via GW dev IFACE src SOURCE_IP
    TARGET:
    主机路由:IP
    网络路由:NETWORK/MASK
    示例:
    添加网络路由:ip route add 193.168.0.0/24 via 172.18.0.1
    添加主机路由:ip route add 192.168.1.13 via 172.18.0.1
    添加网关:ip route add default via GW dev IFACE
    ip route add default via 172.18.0.1
    删除路由:
    ip route del TARGET
    删除默认路由:
    ip route del default
    显示和清空路由表:
    ip route show
    ip route flush

    ### ss:

    网络状态查看命令,与nestat命令用法相似,用来代替nestat命令
    使用格式:ss [OPTION]... [FILTER]
    选项:
    -t: tcp协议相关
    -u: udp协议相关
    -w: 裸套接字相关
    -x:unix sock相关
    -l: listen状态的连接
    -a: 所有
    -n: 数字格式
    -p: 相关的程序及PID
    -e: 扩展的信息
    -m:内存用量
    -o:计时器信息
    条件过滤FILTER : [ state TCP-STATE ] [ EXPRESSION ]
    TCP的常见状态:
    tcp finite state machine:
    LISTEN: 监听
    ESTABLISHED:已建立的连接
    FIN_WAIT_1
    FIN_WAIT_2
    SYN_SENT
    SYN_RECV
    CLOSED
    EXPRESSION:
    dport =
    sport =
    示例:’( dport = :ssh or sport = :ssh )’
    常用组合: -tan, -tanl, -tanlp, -uan
    常见用法:
    ss -l 显示本地打开的所有端口
    ss -pl 显示每个进程具体打开的socket
    ss -t -a 显示所有tcp socket
    ss -u -a 显示所有的UDP Socekt
    ss -o state established '( dport = :ssh or sport = :ssh )' 显示所有已建立的ssh连接
    ss -o state established '( dport = :http or sport = :http )' 显示所有已建立的HTTP连接
    ss -s 列出当前socket详细信息

      5) netns PID:将指定的网卡移动到指定的虚拟网络(本地系统将看不到这块网卡)

网络配置文件

         示例,ip netns add mynet ( 构建虚拟网络mynet )

/etc/sysconfig/network-scripts/ifcfg-IFACE

IP、MASK、GW、DNS相关配置文件
配置属性:

  1. DEVICE:此配置文件应用到的设备
  2. HWADDR:对应的设备的MAC地址
  3. BOOTPROTO:激活此设备时使用的地址配置协议
    常 用的地址配置协议:
    dhcp:自动获取IP
    static:静态指定IP
    none:不用协议,与static效果相同
    bootp
  4. NM_CONTROLLED:NM是NetworkManager的简写, 此网卡是否接受NM控制;建议CentOS6为“no”
  5. ONBOOT:在系统引导时是否激活此设备
  6. TYPE:接口类型;常见有的Ethernet, Bridge
  7. UUID:设备的惟一标识
  8. IPADDR:如果使用的地址配置协议是手动指定的话需要指明IP地址,如果设定开机自动获取IP那么不用指定
  9. NETMASK:子网掩码
  10. GATEWAY: 默认网关
  11. DNS1:第一个DNS服务器指向
  12. DNS2:第二个DNS服务器指向
  13. USERCTL:普通用户是否可控制此设备
  14. PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许 dhcp server分配的dns服务器指向信息直接覆盖至 /etc/resolv.conf文件中

            ip link set eth1 netns mynet ( 将接口eth1添加到虚拟网络mynet )

/etc/sysconfig/network-scripts/route-IFACE

路由配置文件,需要手动创建
注意:需service network restart生效
两种配置风格:

(1) TARGET via GW
如:10.0.0.0/8 via 172.16.0.1

(2) 每三行定义一条路由
ADDRESS#=TARGET
NETMASK#=mask
GATEWAY#=GW
注意:两种风格不混合使用

            ip netns exec mynet ip link show ( 查看虚拟网络mynet的接口信息 )

设置网卡别名:

将多个IP地址绑定到一个NIC上 eth0:1 、eth0:2、 eth0:3
ifconfig命令:
ifconfig eth0:0 192.168.1.100/24 up
ifconfig eth0:0 down
ip命令: ip addr add 172.16.1.2/16 dev eth0
ip addr add 172.16.1.1/16 dev eth0 label eth0:0
ip addr add 172.16.1.2/16 dev eth0 label eth0:0
ip addr del 172.16.1.1/16 dev eth0 label eth0:0
ip addr flush dev eth0 label eth0:0
编辑配置文件:
为每个设备别名生成独立的接口配置文件
• 关闭NetworkManager服务
ifcfg-ethX:xxx
• 必须使用静态联网
DEVICE=eth0:0
IPADDR=10.10.10.10
NETMASK=255.0.0.0
ONPARENT=yes
注意:service network restart 生效
参考/usr/share/doc/initscripts-*/sysconfig.txt

            ip netns del mynet ( 删除虚拟网络 )

setup

    ip link show/list:显示设备属性

/etc/sysconfig/network

配置当前主机的主机名
hostname [HOSTNAME]
HOSTNAME=
NETWORKING=yes #网络总开关
不会立即生效,重启机器后生效与hostname [HOSTNAME] 命令配合使用

    ip link help:显示简要使用帮助

/etc/hosts

本地主机名数据库和IP地址的映像
• 对小型独立网络有用
• 通常,在使用DNS前检查
• getent hosts 查看/etc/hosts 内容

  ip netns:manage network namespaces.

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

网络接口并命名相关的udev配置文件
编辑修改后并不会立即生效
生效方法:
卸载网卡驱动:modprobe -r e1000
装载 网卡驱动:modprobe e1000

  释义:netns是linux中提供网络虚拟化的一个项目,使用netns可以在本地虚拟化出多个网络环境,每个虚拟网络空间都独立于当前系统的网络空间,其中的网络设备及iptables规则等都是独立的。

CentOS7 网络配置

    1) ip netns list:列出所有的netns

网卡命名:

CentOS 6之前,网络接口使用连续号码命名:eth0、eth1等,当 增加或删除网卡时,名称可能会发生变化
CentOS 7使用基于硬件,设备拓扑和设置类型命名:

(1) 网卡命名机制 systemd对网络设备的命名方式

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

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

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

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

(e) 上述均不可用时,则使用传统命名机制
基于BIOS支持启用biosdevname软件
内置网卡:em1,em2
pci卡:pYpX Y:slot ,X:port

(2) 名称组成格式
en: Ethernet 有线局域网
wl: wlan 无线局域网
ww: wwan无线广域网
名称类型:
o

    2) ip netns add NAME:创建指定的netns

网卡设备的命名过程:

第一步:
udev, 辅助工具程序/lib/udev/rename_device /usr/lib/udev/rules.d/60-net.rules
第二步: biosdevname 会根据/usr/lib/udev/rules.d/71biosdevname.rules
第三步: 通过检测网络接口设备,根据
/usr/lib/udev/rules.d/75-net-description ID_NET_NAME_ONBOARD
ID_NET_NAME_SLOT
ID_NET_NAME_PATH

    3) ip netns del NAME:删除指定的netns

设置传统网卡命名方式

  1. 编辑/etc/default/grub配置文件
    GRUB_CMDLINE_LINUX="rhgb quiet net.ifnames=0"
    或:修改/boot/grub2/grub.cfg
  2. 为grub2生成配置文件
    grub2-mkconfig -o /etc/grub2.cfg
  3. 重启系统
    建议直接修改配置文件,将/boot/grub2/grub.cfg文件中内核区域以linux16开头的行,看到fhgb quiet字样后边加net.ifnames=0 之后修改/etc/sysconfig/network-scripts文件中的DEVICE项目和NAME项目。另外文件名手动修改,定义别名生效。

    ### nmcli:

    CentOS7地址配置工具
    与IP命令相似
    用法:
    nmcli [ OPTIONS ] OBJECT { COMMAND | help }
    nmcli 命令强大的命令补全功能:

    [root@CentOS7 ~]#nmcli 
    agent       device      help        networking  
    connection  general     monitor     radio      
    [root@CentOS7 ~]#nmcli connection 
    add    delete  edit   help    load     monitor  show  
    clone  down    export import   modify   reload   up  
    [root@CentOS7 ~]#nmcli device 
    connect   disconnect  lldp     monitor  set   status
    delete    help     modify      reapply  show   wifi
    

    常用的两个OBJECT:

    #### 1. connection:

    相当于addr用于配置IP地址
    子命令: start, stop, and manage network connections
    修改IP地址示例:
    nmcli connection modify IFACE [+|-] setting.property value
    [+|-] #表示添加或者删除ip地址
    setting.property:
    ipv4.addresses
    ipv4.gateway
    ipv4.dns1
    ipv4.method #ipv4的地址获取方式
    manual | auto #手动或者自动(手动配置的ip地址立即生效)
    创建新连接static,指定静态IP,不自动连接
    nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254

    4) ip netns exec NAME COMMAND:在指定的netns中运行命令

2. device :

相当于link管理连接设备
子命令:show and manage network interfaces
设备即网络接口,连接是对网络接口的配置。一个网络接口 可有多个连接配置,但同时只有一个连接配置生效

    5) ip netns help:显示简要使用帮助
    6) exit:退出虚拟网络

修改配置文件执行生效:

systemctl restart network
nmcli con reload
这篇博客是否对你配置网络有帮助呢?有问题以及指教的地方请留言交流吧。

  ip address:protocol address management.

    1) ip address add IFADDR dev IFACE:给指定网卡添加多一个IP;示例,ip address add 192.168.10.2/24 dev eth1

        [label NAME]:为额外添加的地址指明接口别名;示例,ip address add 10.1.1.10/8 dev eth1 label eth1:0

        [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;

        [scope SCOPE_VALUE]:global:全局可用;link:接口可用;host:仅本机可用

    2) ip address delete IFADDR dev IFACE:删除接口的ip;示例,ip address delete 10.1.1.10/8 dev eth1

    3) ip address list/show [IFACE]:显示接口的地址信息;示例,ip address show,ip address list eth1

    4) ip address flush dev IFACE:清空接口所有的地址信息;示例,ip address flush dev eth1

  ip route:routing table management.

    1) ip route add TYPE PREFIX via GW [dev IFACE] [src SOURCE_IP]:添加路由信息;
      示例,ip route add 10.0.2.0/24 via 10.0.1.11 (到达10.0.2.0/24网络的下一跳地址为10.0.1.11)
         ip route add 10.0.2.0/24 dev eth0 (通过接口eth0到达10.0.2.0/24网络)
         ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 (到达192.168.1.0/24网络须通过接口eth1的下一跳地址10.0.0.1)

         ip route add 192.168.1.0/24 via 10.0.0.1 dev eth1 src 10.0.10.100 (通过eth1接口的10.0.10.100地址,经下一跳10.0.0.1到达网络192.168.1.0/24;此条路由的网关是本机)

         ip route add default via 172.16.0.1 dev eth0 (添加默认路由,通过eth0接口经下一跳172.16.0.1出去)

    2) ip route del:删除路由信息

      示例,ip route delete 192.168.1.0/24

         ip route show:显示路由信息

    3) ip route flush - flush routing tables

      示例,ip route flush 192.168.1.0/24

    4) ip route get:获取路由信息

      示例,ip route get 192.168.0.0/24
**
ss命令:**

  获取socket信息,显示和netstat类似的内容,但比netstat更高效。

  ss [options] [FILTER]

  options:

    -t:TCP协议的相关连接

    -u:UDP相关的连接

    -w:仅显示raw套接字的连接

    -l:显示处于监听状态的连接

    -a:所有状态的连接

    -n:不解析服务名称

    -p:显示使用socket的进程

    -e:显示详细的信息

    -m:内存用量
    -s:显示socket使用概况

    -o:计时器信息

  FILTER:
    =[state TCP-STATE] [EXPRESSION]

    TCP-STATE包括:

        LISTEN:监听

        ESTABLISEHD:建立的连接

        FIN_WAIT_1:等待远程TCP连接中断请求

        FIN_WAIT_2:从远程TCP等待连接中断请求

        SYN_SENT:客户端发送请求连接

        SYN_RECV:服务端接收请求连接

        CLOSED:没有任何连接

        示例,ss -tan state ESTABLISHED

    EXPRESSION:

        dport=

        sport=

        示例,ss -tan '( dport = :22 or sport = :22 )' (注意,此命令空格不能省略)

3、详细说明进行管理工具htop、vmstat等相关命令,并举例

htop

  基于文本模式的、交互式的进程查看器,主要用于控制台或shell中,比top命令更加人性化,可以说是top的高级版。Linux系统默认不安装htop,需要自行安装,可以登录官网下载安装或配置epel源,通过yum install htop安装。

  htop的使用:

    [root@happiness ~]# htop

              澳门新濠3559 33

    总共分成四个区:

    1)上左区:显示CPU(1、2表示CPU的核数)、物理内存和交换分区的信息;

    2)上右区:显示任务数量(tasks)、平均负载(load average)和系统从开机到现在的运行时长;

    3)进程区域:动态显示当前系统中的所有进程;

    4)操作提示区:显示当前界面中F1~F10功能键中定义的快捷功能。

  htop常用功能键:

    F1 : 查看htop使用说明

    F2 : 设置

    F3 : 搜索进程

    F4 : 过滤器,按关键字搜索

    F5 : 显示树形结构

    F6 : 选择排序方式

    F7 : 减少nice值,这样就可以提高对应进程的优先级

    F8 : 增加nice值,这样可以降低对应进程的优先级

    F9 : 杀掉选中的进程

    F10 : 退出htop

 

    / : 搜索字符

    h : 显示帮助

    l :显示进程打开的文件

    u :显示所有用户,并可以选择某一特定用户的进程

    s : 将调用strace追踪进程的系统调用

    t : 显示树形结构

 

    H :显示/隐藏用户线程

    I :倒转排序顺序

    K :显示/隐藏内核线程

    M :按内存占用排序

    P :按CPU排序

    T :按运行时间排序

 

    上下键或PgUP,PgDn:移动选中进程

    左右键或Home,End:移动列表

    Space(空格):标记/取消标记一个进程

  htop常用选项:

    -d #:指定延迟时间间隔

    -u UserName:仅显示指定用户的进程

    -s COLUME:以指定字段进行排序

vmstat

  指定时间间隔内,动态监控系统的虚拟内存、进程、CPU活动的整体情况,属于低开销工具。命令格式:vmstat [options] [ delay [count] ]。

    delay:刷新时间间隔,如果不指定,只显示一条结果;

    count:刷新次数;如果不指定count但指定了delay,这时会一直刷新。

  常用的options选项:

    -a:显示活跃和非活跃内存

    -f:显示从系统启动至今的fork数量 

    -m:显示slab信息(slab,Linux的内存分配机制)

    -n:只在开始时显示一次各字段名称

    -s:显示内存相关统计信息及多种系统活动数量

    -d:显示磁盘相关统计信息

    -p:显示指定磁盘分区统计信息

    -S:使用指定单位显示。参数有 k 、K 、m 、M ,分别代表1000、1024、1000000、1048576字节(bytes)。默认单位为K(1024 bytes)

    -V:显示vmstat版本信息

  示例:

    默认显示1次摘要信息

         澳门新濠3559 34

    间隔2秒刷新1次摘要,总共显示3次

         澳门新濠3559 35

    关键字释义:

    澳门新濠3559 36

4、使用while实现ping 192.168.0.0/24网络

#!/bin/bash
declare -i up=0
declare -i down=0
declare -i i=0
declare -i j=1
trap 'interrupt_trap' INT

interrupt_trap() {
    echo "QUIT"
    echo "There are $up ips being up."
    echo "There are $down ips being down."
    exit 1
}

while [ $i -le 255 ]; do
    while [ $j -le 255 ]; do
        if [ $i -eq 255 -a $j -eq 255 ]; then
            break
        fi
        ping -W1 -c1 192.168.$i.$j &> /dev/null 
        if [ $? -eq 0 ]; then
            echo "192.168.$i.$j is up."
            let up++
        else
            echo "192.168.$i.$j is down."
            let down++
        fi
        let j++
    done
    j=0
    let i++
done

echo "There are $up ips being up."
echo "There are $down ips being down."

编辑:操作系统 本文来源:OSI七层模型澳门新濠3559:,通过命令配置的网络

关键词: