linux网络管理三剑客

将Linux主机接入到网络中能够使用的条件:

1.IP/NETMASK:本地通信

2.路由(网关):跨网络通信

3.DNS服务器地址:基于主机名的通信----域名解析

主DNS服务器地址

备用DNS服务器地址

第三备份DNS服务器地址

配置方式:----配置在内核上

1.静态指定:---立即生效

a.命令:

ifcfg家族:

ifconfig:配置IP,NETMASK

route:路由

netstat:网络状态及统计数据查看

iproute2家族:

ip OBJECT:

addr:地址和掩码;

link:网络接口本身

route:路由

ss:状态及统计数据查看性能优于route

CentOS 7:nm(Network Manager)家族

nmcli:命令行工具

nmtui:text window 工具

注意:

(1) DNS服务器指定

配置文件:/etc/resolv.conf

(2) 本地主机名配置

hostname

配置文件:/etc/sysconfig/network

CentOS 7:hostnamectl

b.配置文件:

RedHat及相关发行版

/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

2.动态分配:依赖于本地网络中有DHCP服务----下次启动需内核重读。

DHCP:Dynamic Host Configure Procotol---有一个地址池。利用广播来获取需要续租。

如果本地网络中的地址无法通过dhcp来获取,还有一个169的网络

网络接口命名方式:

传统命名:

以太网:ethX, [0,oo),例如eth0, eth1, ...

PPP网络:pppX, [0,...], 例如,ppp0, ppp1, ...

可预测命名方案(CentOS):

支持多种不同的命名机制:

Fireware, 拓扑结构

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

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

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

(4) 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ...

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

命名格式的组成:

en:ethernet

wl:wlan

ww:wwan

名称类型:

o<index>:集成设备的设备索引号;

s<slot>:扩展槽的索引号;

x<MAC>:基于MAC地址的命名;

p<bus>s<slot>:基于总线及槽的拓扑结构进行命名;

Linux网络属性配置:命令,配置文件;

ifcfg命令家族: ifconfig, route, netstat

ifconfig命令:接口及地址查看和管理

ifconfig  [ interface ]

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

ifconfig interface [aftype] options | address ...---完成地址配置

# ifconfig  IFACE  IP/MASK  [up|down]

# ifconfig  IFACE  IP  netmask  NETMASK

options: [-] promisc 

注意:立即送往内核中的TCP/IP协议栈,并生效;所以他会冲掉原来的地址

管理IPv6地址:

add addr/prefixlen

del  addr/prefixlen

route命令:路由查看及管理

route - show / manipulate the IP routing table

路由条目类型:

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

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

默认路由:目标为任意网络,0.0.0.0/0.0.0.0非本地主机

查看:

# route  -n  ------以数字格式显示路由

添加:

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

示例: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

注意添加时下一跳即gateway必须与本地主机在同一网段。

删除:

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

netstat命令:

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

显示路由表:netstat  -r|n

-r:显示内核路由表

-n:数字格式

显示网络连接:

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

-t:TCP协议的相关连接,连接均有其状态;FSM(Finate State Machine);面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;(打电话)

-u:UDP相关的连接,无连接的协议;直接发送数据报文(寄东西)。

-w:raw socket相关的连接

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

-a:所有状态包括为连接的,未监听的。

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

-e:扩展格式

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

常用组合:

-tan,  -uan,  -tnl,  -unl,  -tunlp

显示接口的统计数据:

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

所有接口:

netstat  -i

指定接口:

netstat  -I<IFace>

ifup/ifdown命令: #ifup eth0

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

配置主机名:

hostname命令:

查看:hostname

配置:hostname  HOSTNAME

当前系统有效,重启后无效;

hostnamectl命令(CentOS 7):

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

hostnamectl  set-hostname:设定主机名,永久有效;

配置文件:/etc/sysconfig/network

HOSTNAME=<HOSTNAME>

注意:此方法的设置不会立即生效; 但以后会一直有效;

配置DNS服务器指向:

配置文件:/etc/resolv.conf

nameserver   DNS_SERVER_IP

如何测试(host/nslookup/dig):

#vim /etc/host

# dig  -t  A  FQDN----注意dig 不检测/etc/host文件

# dig -t A ww.mageedu.com

FQDN --> IP

# dig  -x

IP --> FQDN----大多数不支持解析

iproute2家族:

ip命令:——show / manipulate routing, devices, policy routing and tunnels

ip [ OPTIONS ] OBJECT { COMMAND | help }

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

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

ip  OBJECT:

ip link: network device configuration——网络设备配置。

ip  link  set - change device attributes——设置设备的属性

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

up和down:——#ip link set eth0 up|down

multicast on或multicast off:启用或禁用多播功能;#ip link set eth0 multicast

name NAME:重命名接口

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

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

ip  link  show  - display device attributes——显示设备属性,二层设备的相关属性。

ip  link  help -  显示简要使用帮助;

ip netns:  - manage network namespaces.——只能在centos7上运行测试。

ip  netns  list:列出所有的netns

ip  netns  add  NAME:创建指定的netns——#ip netns add mynet

ip  netns  del  NAME:删除指定的netns

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

ip address - protocol address management.--ip地址协议管理

p address add - add new protocol address

ip  addr  add  IFADDR  dev  IFACE#ip addr add 172.18.0.1/8 dev eth0

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

#ip addr add 10.0.1.10/8 dev  eth0 lable eth0:1——有别名才能显示在ifconfig中

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

[scope SCOPE_VALUE]:——定义生效范围,  global:全局可用(默认);  link:接口可用; host:仅本机可用;

ip address delete - delete protocol address

ip addr  delete  IFADDR  dev  IFACE

ip address show - look at protocol addresses

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

ip address flush - flush protocol addresses——————不支持简写

ip  addr  flush  dev  IFACE

ip route - routing table management

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

ip route delete - delete route

ip  route  del  TYPE PRIFIX

示例:

# ip  route delete  192.168.1.0/24

ip route show - list routes

TYPE PRIFIX

ip route flush - flush routing tables

TYPE  PRIFIX

ip route get - get a single route

ip  route  get  TYPE PRIFIX

示例:ip route  get  192.168.0.0/24

ss命令:

ss  [options]  [ FILTER ]

选项:

-t:TCP协议的相关连接

-u:UDP相关的连接

-w:raw socket相关的连接

-l:监听状态的连接

-a:所有状态的连接

-n:数字格式

-p:相关的程序及其PID

-e:扩展格式信息

-m:内存用量

-o:计时器信息

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

TCP的常见状态:

TCP FSM:

LISTEN:监听

ESTABLISEHD:建立的连接

FIN_WAIT_1:

FIN_WAIT_2:

SYN_SENT:

SYN_RECV:

CLOSED:

EXPRESSION:

dport =

sport =

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

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

~]# ss  -tan  state  ESTABLISHED

配置文件:

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

IFACE:接口名称;

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

配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE通过大量参数来定义接口的属性;其可通过vim等文本编辑器直接修改,也可以使用专用的命令的进行修改(CentOS 6:system-config-network (setup),CentOS 7: nmtui)

ifcfg-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服务来控制接口;

网络服务:

network

NetworkManager

管理网络服务:

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

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

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

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

TARGET  via  GW

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

ADDRESS#=TARGET

NETMASK#=MASK

GATEWAY#=NEXTHOP

给接口配置多个地址:

ip addr之外,ifconfig或配置文件都可以;

(1) ifconfig  IFACE_LABEL  IPADDR/NETMASK

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

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

DEVICE=IFACE_LABEL

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

static, none

nmcli命令:

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

device - show and manage network interfaces

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

connection - start, stop, and manage network connections

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

modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

如何修改IP地址等属性:

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

ipv4.address

ipv4.gateway

ipv4.dns1

ipv4.method

manual

时间: 2025-02-01 13:54:02

linux网络管理三剑客的相关文章

linux文本三剑客匹配网卡IP地址大PK(CentOS 7系统)

    运维工程师在做配置的过程中很多时候都需要去获取目标服务器网卡上的IP地址,那究竟用什么方式获取更便捷了,博主今天就带大家使用linux文本三剑客分别获取一下网卡的IP地址,最后我们再来对比一下. 实验环境: 系统:CentOS 7.2 网卡张数:双网卡 linux文本三剑客之grep 获取ifconfig输出中的IP地址 ifconfig | egrep -o "\<([1-9]|[1-9][0-9]|1[0-9][0-9]|2[0-1][0-9]|22[0-3])\>.(\

linux网络管理

不联网的计算机就是废铁,管理linux也必须懂得网络,但是网络是一门特别大的学科,其中的原理和规范可以编写三本书.学习linux之前总不能先去考个CCNA再学习吧!不学的话那必须对网络有一定的认识懂得linux中的网络管理,了解基本的网络运作原理. 一 物理设备 早期网络有多种拓扑结构,现在已经被淘汰了,只要了解它们的类型和大致的优缺点就好.星形拓扑,使用中间设备进行信号中继,中心节点单点故障对对全局影响明显:环形拓扑,使用令牌环,每个设备的损坏对全局都有特别大的影响:总线型拓扑,对中心线要求比

Linux 网络管理基础

Linux 网络管理 Linux网络属性配置 一.计算机网络: 1.TCP/IP:协议栈(使用中的模型) ISO(国际标准化组织):OSI(开放系统互联基本参考模型),学习中的模型. 2.通信子网与资源子网 1)从计算机网络各组成部分的功能来看,各部分主要完成两种功能:即网络通信和资源共享 2)通信子网:把计算机网络中实现网络通信功能的设备及软件的集合称为网络的通信子网: 组成有:中继器,集线器,交换机,通讯线缆,路由器等各种网关硬件设备: 3)资源子网:把网络中实现资源共享功能的设备及软件的集

Linux系统--Linux网络管理与配置

Linux 网络管理与配置 在学习linux的过程中,Linux网络的管理和配置在后续学习中是很重要的,几乎学习的后期都离不开网络的概念和配置,如集群中的使用.所有学习好Linux网络至关重要. Linux网络配置有两种方式:静态指定和动态分配 动态分配就是利用DHCP服务器,动态的给linux主机分配IP地址.静态指定可以通过命令配置临时的IP和相应的NETMASK,GATEWAY,DNS等,也可以通过修改配置文件做相应的配置. 在CentOS6上的网络配置 一.静态指定,通过命令暂时配置li

「linux网络管理」OSI模型

学习linux网络管理,笔记整理,促进记忆. OSI(开放系统互联模型)包含七层,由应用层向物理层递进,分别有不同的协议和数据处理方式. 应用层--> 表示层--> 会话层--> 传输层--> 网络层--> 数据链路层--> 物理层 数据单位:ADPU PPDU SPDU  TPDU 报文    帧  比特 ADPU:应用协议数据单元 PPDU:表示层协议数据单元 SPDU:会话协议数据单元 TPDU:传输协议数据单元 这是数据发出时的顺序,接收数据的顺序与之相反 不同

Linux网络管理基础

Linux网络管理基础 动态路由 Bonding Network Teaming 静态路由实验 Linux的网络管理,了解基本的网络知识是基础,除此,要掌握好ifconig命令.ip命令.nmcli命令(CentOS 7),以及涉及到网络的配置文件. 配置动态路由: 通过守护进程获取动态路由,安装quagga包,支持RIP.OSPF.BGP,通过命令vtysh配置. [[email protected] ~]#yum -y install quagga 切换到服务启动脚本目录下启动或者直接ser

linux网络管理初探

linux网络管理初探 既然说到linux的网络管理,先来简单了解一下OSI开放系统模型以及TCP/IP模型. OSI(Open System Interconnect),即开放式系统互联. 一般都叫OSI参考模型,是ISO(国际标准化组织)组  织在1985年研究的网络互联模型.该体系结构标准定义了网络互连的七层框架(物理层.数据链路层.网络层  传输层.会话层.表示层和应用层),即ISO开放系统互连参考模型.在这一框架下进一步详细规定了每一层的  功能,以实现开放系统环境中的互连性.互操作性

Linux网络管理2---(网络环境查看命令、网络测试命令)

1.网络环境查看命令 ifconfig命令 查看或临时修改网络状态的命令 可以看到IP.子网掩码……信息 关闭和启动网卡 ifdown 网卡设备名(比如: ifdown eth0):禁用该网卡设备 ifup 网卡设备名:启用该网卡设备 查询网络状态:netstat 选项: -t:列出TCP 协议端口 -u:列出UDP协议端口 -n:不使用域名与服务名,而使用IP地址和端口号 -l:仅列出在监听状态网络服务(所有UDP服务都没有监听状态,因为TCP是三次握手,需要等待反馈信息,而UDP就不需要)

Linux网络管理(7)centos7中team组的实现

Linux网络管理(7)centos7中team组的实现 在linux 中,centos7之前都是使用bond机制来实现多网络绑定同一个IP地址,来对网络提供访问,并按不同的模式来负载均衡或者轮回接替管理处理数据.而到了contos7之后,提供了一种强大的工具,nmcli工具命令,使用此工具,将会根据命令参数的配置来重新生成特定的配置文件来供网络接口使用,方便而又灵活.在linux不再使用 bond机制定义,而是使用网路组 team 机制,把 team组当作一个设备.下面通过案例说. 主备模式t