9.6_Linux网络管理命令的使用

网络管理命令

ip命令

配置Linux网络属性:ip命令,不过该命令的操作只是临时操作,重启以后配置丢失

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

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | addr | route }

示例:

ip link - network device configuration

set dev IFACE

可设置属性:

up and down:激活或禁用指定接口

ifup/ifdown

show [dev IFACE]:指定接口

[up]:仅显示处于激活状态的接口

示例1:显示所有接口的状态

示例2:关闭eth1口,然后显示eth1接口的状态,而后显示其他状态是up的接口

ip addr { add | del | change } IFADDR dev STRING

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

[scope {global|link|host}]:指明作用域

global: 全局可用;

link: 仅链接可用;

host: 本机可用;

[broadcast ADDRESS]:指明广播地址

ip address show -look at protocol addresses

[dev DEVICE]

[label PATTERN]

[primary and secondary]

ip address flush -使用格式同show

ip addr add 172.16.0.100/16 dev eth2 label eth2

ip addr del 172.16.0.100/16 dev eth2 label eth2

ip addr flush dev eth2 label eth2

示例1:使用ip addr命令添加一个ip

示例2:改变eth2的ip地址

示例3:删除eth2的ip信息

示例4:此命令不会保存在配置文件中,只是暂时存放在内存里面,使用请注意

ip route - routing table management

添加路由:ip route add

ip route add TARGET via GW dev IFACE srcSOURCE_IP

TARGET:

主机路由:IP

网络路由:NETWORK/MASK

ip route add 192.168.0.0/24 via 172.16.0.1

ip route add 192.168.1.13 via 172.16.0.1

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

ip route add default via 172.16.0.1

删除路由:ip route delete

ip route del TARGET

显示路由:ip route show|list

清空路由表:ip route flush [dev IFACE] [via PREFIX]

ip route flush dev eth0

示例1:添加172.16.0.0/16的路由

示例2:添加一个网关

示例3:删除默认网关路由

示例4:删除相关的所有路由

netstat命令:

显示网络链接

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

常用选项:

-t: tcp协议相关

-u: udp协议相关

-w: raw socket相关

-l: 处于监听状态

-a: 所有状态

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

-e:扩展格式

-p: 显示相关进程及PID

常用组合:

-tan, -uan, -tnl, -unl,-rn,tnlp

显示路由表:

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

-r: 显示内核路由表

-n: 数字格式

显示接口统计数据:

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

# netstat -i

# netstat -IIFACE

示例1:查看所有tcp协议的状态

示例2:查看所有udp的协议状态

示例3:查看所有正在监听的tcp协议

示例4:查看所有正在监听的udp协议

示例5:查看所有tcp和udp协议状态以及进程号

ss命令

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

netstat通过遍历proc来获取socket信息,ss使用netlink与内核tcp_diag模块通信获取socket信息。

选项:

-t: tcp协议相关

-u: udp协议相关

-w: 裸套接字相关

-x:unixsock相关

-l: listen状态的连接

-a: 所有

-n: 数字格式

-p: 相关的程序及PID

-e: 扩展的信息

-m:内存用量

-o:计时器信息

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

TCP的常见状态:

tcpfinite state machine:

LISTEN: 监听

ESTABLISHED:已建立的连接

FIN_WAIT_1

FIN_WAIT_2

SYN_SENT

SYN_RECV

CLOSED

EXPRESSION:

dport=

sport =

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

常用组合:

-tan, -tanl, -tanlp, -uan,tunl

常见用法示例:

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 -s 列出当前socket详细信息:

ss -o state established ‘( dport = :smtp or sport = :smtp )‘ 显示所有已建立的SMTP连接

ss -o state established ‘( dport = :http or sport = :http )‘ 显示所有已建立的HTTP连接ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程

nmcli命令(注意,此命令只适用于CentOS 7的版本,6版本的这个命令并不好使)

地址配置工具:nmcli

nmcli[ OPTIONS ] OBJECT { COMMAND | help }

device -show and manage network interfaces

nmcli device help

connection -start, stop, and manage network connections

nmcli connection help

修改IP地址等属性:

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

setting.property:

ipv4.addressesipv4.gateway

ipv4.dns1 ipv4.methodmanual | dhcp

修改配置文件执行生效:systemctl restart network

nmcli con reload

nmcli命令生效:nmcli con down eth0 ;nmcli con up eth0

示例1:新增网卡,设置它的IP地址

添加了一个新的网卡,系统自动识别为eth1,网卡名字Wired connetion 1,此处作用的是NetworkManager,否则新建一个网卡的时候应该没有名字。

此处我清理掉上图的信息,此时查看接口的状态

添加网卡信息,设置该网卡为手动设置,配置ip地址,网关,dns,开机自动启动,此处会生成配置文件

配置完看了一下,ip已经起来了,连服务都没重启呢。并且测试过连通性也是没问题

示例2:新增绑定一个新的配置文件home和ip地址,但是我们发现,此处文件并没有绑定接口

此处用nmcli device status可以看见接口eht1已经是工作中,但是此命令不能看见接口绑定的是哪个配置文件,我们发现ip还是以前的ip

此处用nmcli con up home的命令启用接口,然后我们发现eth1接口此时用的是home的配置文件,这样的话就可以把接口切换过来

也可以用nmcli con down +conf文件这样方式来切换

如果对以上的配置文件有需要自己改动的地方,则手动编辑之,然后输入nmcli con reload命令重新导入配置文件即可。例如编辑ip地址和网卡的NAME

编辑完,配置文件并不会马上生效,我们可以用nmcli con reload的命令重新加载配置文件,发现网卡的NAME属性已经生效,但是ip还是没有改变

此处重启网络服务,ip已经起来了。

相关工具

网络接口配置tui工具:nmtui(nmcli的图形化工具,个人还是建议用命令的,此处不再演示)

使用nmcli配置网络

NeworkManager是管理和监控网络设置的守护进程

设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效。

显示所有包括不活动连接

nmclicon show

显示所有活动连接

nmclicon show –active

显示网络连接配置

nmclicon show "home"

显示设备状态

nmcli dev status

显示网络接口属性

nmclidev show eno16777736(CentOS7的网卡的命名)

创建新连接home,IP自动通过dhcp获取

nmclicon add con-name home type Ethernet ifname eth1

删除连接

nmclicon del home

创建新连接eth1 ,指定静态IP,不自动连接

nmcticon add con-name static ifname eth1 autoconnect no type Ethernet ip4 10.1.156.71/16 gw4 10.1.0.1

启用home连接配置

nmcli con up home

启用eth1连接配置

nmclicon up eth1

查看帮助

nmclicon add help

修改连接设置

nmcli con mod “eth1” connection.autoconnect no

nmcli con mod “eth1” ipv4.dns 10.1.0.1

nmcli con mod “eth1” +ipv4.dns 8.8.8.8

nmcli con mod “eth1” -ipv4.dns 8.8.8.8

nmcli con mod “eth1” ipv4.addresses “172.16.0.100 172.16.0.1”

nmcli con mod “eth1” +ipv4.addresses 10.10.10.10/16

设备配置被保存在文本文件中

/etc/sysconfig/network-scripts/ifcfg-<name>

帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt

修改连接配置后,需要重新加载配置

nmcli con reload

nmcli con down “system eth0” 可被自动激活

nmcli con up “system eth0”

nmcli dev dis eth0 禁用网卡,访止被自动激活

示例2:新增绑定一个新的配置文件home和ip地址,但是我们发现,此处文件并没有绑定接口

此处用nmcli device status可以看见接口eht1已经是工作中,但是此命令不能看见接口绑定的是哪个配置文件,我们发现ip还是以前的ip

此处用nmcli con up home的命令启用接口,然后我们发现eth1接口此时用的是home的配置文件,这样的话就可以把接口切换过来

也可以用nmcli con down +conf文件这样方式来切换

如果对以上的配置文件有需要自己改动的地方,则手动编辑之,然后输入nmcli con reload命令重新导入配置文件即可。例如编辑ip地址和网卡的NAME

编辑完,配置文件并不会马上生效,我们可以用nmcli con reload的命令重新加载配置文件,发现网卡的NAME属性已经生效,但是ip还是没有改变

此处重启网络服务,ip已经起来了。

删除home的配置文件

修改网卡开机自动链接为no

nmcli con mod “work” connection.autoconnect no

设置DNS地址

nmcli con mod “work” ipv4.dns 10.1.0.1

增加一组DNS地址

nmcli con mod “work” +ipv4.dns 8.8.8.8

删除掉8.8.8.8的dns

nmcli con mod “work” -ipv4.dns 8.8.8.8

修改ip到其他地址

nmcli con mod “work” ipv4.addresses “172.16.0.100/24 ipv4.gateway 172.16.0.1”

增加一个ip地址

nmcli con mod “work” +ipv4.addresses 10.1.156.71

注意:以上的修改操作并不会马上生效,生效需要重启网卡服务systemctl restart network

图形工具(此工具只能在图形界面下面启动)

nm-connection-editor

网络组Network Teaming(同样只适用于CentOS 7)

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量

网络组不同于旧版中bonding技术,提供更好的性能和扩展性

网络组由内核驱动和teamd守护进程实现.

多种方式runner

broadcast 广播

roundrobin 循环

activebackup 备份

loadbalance 负载均衡

lacp 接口聚合(implements the 802.3ad Link Aggregation Control Protocol)

网络组

启动网络组接口不会自动启动网络组中的port接口

启动网络组接口中的port接口不会自动启动网络组接口

禁用网络组接口会自动禁用网络组中的port接口

没有port接口的网络组接口可以启动静态IP连接

启用DHCP连接时,没有port接口的网络组会等待port接口的加入

创建网络组接口

nmclicon add type team con-name CNAME ifname INAME [config JSON]

CNAME为连接名,INAME为接口名

JSON为指定runner方式

格式:‘{"runner": {"name": "METHOD"}}‘

METHOD可以是broadcast,roundrobin,activebackup,loadbalance,lacp.

创建网络组接口实例

首先创建网络组接口,名为team0的接口,模式为备份模式

nmcli con add type team con-name team0 ifname team0

config ‘{"runner": {"name": "activebackup"}}‘

给接口配置ip地址等信息

nmcli con mod team0 ipv4.addresses 10.1.156.156/16

nmcli con mod team0 ipv4.method manual

创建port接口

nmcli con add type team-slave con-name CNAME ifname INAME master TEAM

CNAME连接名,INAME网络接口名,TEAM网络组接口名.

连接名若不指定,默认为team-slave-IFACE.

nmcli device disconnect INAME 关闭指定的真实接口

nmcli connection up CNAME 指定配置文件的接口up

INAME设备名CNAME网络组接口名或port接口

网络组实例

nmcli con add type team-slave ifname eth0 master team0

nmcli con add type team-slave ifname eth1 master team0 con-name team0-eth1

nmcli con up team0 启用team0接口

nmcli dev dis eth0 关闭掉原来的接口

teamdctl team0 state

完整示例:创建网络组

首先创建网络组接口,名为team0的接口,模式为备份模式

nmcli con add type team con-name team0 ifname team0

config ‘{"runner": {"name": "activebackup"}}‘

给接口配置ip地址等信息

nmcli con mod team0 ipv4.addresses 10.1.156.156/16

nmcli con mod team0 ipv4.method manual

创建port接口

nmcli con add type team-slave con-name team0-eth0 ifname eth0 master team0

nmcli con add type team-slave con-name team0-eth1 ifname eth1 master team0

启用team0接口,但是可以看见port的接口的配置文件还没有生效

使port接口生效,有两种方法

第一种:直接关闭掉原来的接口

第二种:直接nmcli connection up 指定port接口配置文件,此处用第二种

可以看见接口已经起来了

此时可以用teamdctl team0 state的命令来查看网络组接口的状态,发现接口已经起来了

此时的主端口是eth1

首先测试一下ping team0口来看看连通性,发现是通的

此时断开eth1,然后再查询teamdctl team0 state命令

可以看见eth1已经断开,此时作用的是eth0

重新链接eth1,再断开eth0,然后再查询teamdctl team0 state命令

可以看见eth0已经断开,此时作用的是eth1

最后,重新链接eth0,然后再查询teamdctl team0 state命令

可以看见eth0已经链接上,此时作用的是eth1,此时实验完毕

写在最后:由于虚拟机的关系,对此命令实现的效果有问题,所以后面测试的就不截图了,只保存接口状态的的截图了。

如果需要测试接口的话,也可以用watch -n1 ‘netstat -Ieth0‘和watch -n1 ‘netstat -Ieth1‘同时查看接口的流量状态,可以发现是,只有active port的接口才会有流量,当actice port接口断开切换到另外一个接口的时候,另外一个接口才会有流量

此时作用的是eth0,可以对比两个图,可以发现只有eth0接口的流量有变化

此处关擦eth0接口的接收RX和发送TX流量变化

使用nmcli配置主机名

rhel6之前主机名配置文件:/etc/sysconfig/network

rhel7.0主机名配置文件:/etc/hostname ,默认没有这个文件,通过DNS反向解析获取主机名,主机名默认为:localhost.localdomain

显示主机名信息

hostname

hostnamectl status

创建并修改文件并生效

hostnamectlset-hostname desktopX.example.com

删除文件,恢复主机名localhost.localdomain

DNS设置,存放在/etc/resolv.conf文件中

PEERDNS=no 表示当IP通过dhcp自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:

nmclicon mod “system eth0” ipv4.ignore-auto-dns yes

示例:设置主机名

查看此时计算机名状态,此时是centos.localdomain

改一个主机名,可以看见,马上生效了,这点比起CentOS6上面还是要方便不少

测试网络命令

在命令行下测试网络的连通性

显示主机名

hostname

测试网络连通性

ping

mtr

显示正确的路由表

ip route

确定名称服务器使用:

nslookup

host

dig

跟踪路由

traceroute

Tracepath

网络客户端工具

lftp, ftp, lftpget, wget

lftp [-p port] [-u user[,password]] SERVER

子命令:

get、mget、ls、help

lftp

put  单个文件上传

get  单个文件下载,可以补全,ftp的不能

mget  多个东西下载,也可以支持补全,支持通配符

mput  多个上传

ftp FTP

如果需要匿名登陆,可以使用anonymous或者ftp,密码是空密码或者随便一个

pwd 显示在ftp里面的目录

lcd 显示本机当前的位置

lcd PATH:切换到其他的下载目录

在ftp里面下载的东西的话默认会下载到lcd的目录

get 文件名:下载文件指令,如果文件名有空格,需要在文件名前后加上“”双引号

cd 切换目录

passive 切换ftp的工作模式,默认是主动模式,通信时候使用端口20传文件,21收文件。

被动模式的时候使用一个大端口号。

help 列出所有的在ftp里面的命令,非本地

quit 退出

ftp和lftp都是交互式

在ftp里面,需要对本地操作,可以再命令前面加上叹号!,如!pwd,作用同在ftp里面输入lcd

ftp 支持通配符

ftp和lftp都是交互式,不能卸载脚本里面

lftpget URL 下文件,并且支持多点续传,多线程下载

wget 可以下载ftp资源和http资源

wget [option]... [URL]...

NAME_A TO NAME_B 改名

-q: 静默模式

-c: 断点续传

-O: 保存位置

--limit-rates=: 指定传输速率

links 连接,可以当浏览器

links url [option]

--dump 抓取网站文字 ex. links a.com > a.txt

--source 抓取网站源码

curl 网址 直接看源码

-I 查看网站各种信息

时间: 2024-10-10 00:04:32

9.6_Linux网络管理命令的使用的相关文章

Nmcli 网络管理命令行工具基础

介绍 在本教程中,我们会在CentOS / RHEL 7中讨论网络管理命令行工具NetworkManager command line tool,也叫nmcli.那些使用ifconfig的用户应该在CentOS 7中避免使用ifconfig 了. 让我们用nmcli工具配置一些网络设置. 要得到系统中所有接口的地址信息 [[email protected] ~]# ip addrshow 示例输出: 1: lo:<LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc no

linux常用的网络管理命令

网络配置 rhel/Centos中常用的网络管理命令: 设置ip基本信息相关配置文件 5,6版本:system-config-network(setup) 配置文件位置:/etc/sysconfig/network-scripts/ifcfg-eth[0-n] 7版本:nmcil nmtui(图形界面) 配置文件位置:/etc/sysconfig/network-scripts/ifcfg-en***** ifcfg-eth0,ifcfg-en******网络配置文件信息 TYPE=Ethern

网络管理命令和配置路由

前言:简单了解几个有关网络管理的命令并进行一个实验了解配置路由 一,显示网络连接 目前有俩个命令 - netstat,ss netstat通过遍历proc来获取socket信息, 目前属于较旧的命令,也许未来有被丢弃的可能 ss使用netlink与内核tcp_diag模块通信获取socket信息 ,较新的命令,目前与netstat共存 选项 俩者对于常用的选项没什么差别,所以放在一起说,以netstat为例 看一下示例 便于观看,所以以下示例我们都只显示tcp协议相关的,只要知道跟 -u -w

Linux用户管理 权限管理 内存管理 网络管理命令

默认添加的用户会自动加入和用户名一样的组中su 切换用户查看当前登陆的用户: whoami id`查看当前用户属于哪个组:groupsgroupadd 组名 添加组groupdel 组名 删除组grep test /etc/group 在group文件里面寻找testadm(组名):x(密码):4(组id):syslog,liujizhou(组里面的用户) 将pentest用户添加到test组中gpasswd -a pentest test将pentest从test组中移除gpasswd -d

linux网络管理命令

arp:管理系统中的ARP高速缓存 arpwatch:监听ARP记录 arping:发送ARP请求到一个相邻主机 finger:查找并显示用户信息 ifconfig:设置网络接口 iwconfig:设置无线网卡 hostname:显示主机名 ifup:激活设备 ifdown:禁用网络设备 mii-tool:调整网卡模式 route:设置路由表 netstat:查看网络连接 ping:检测主机的连通性 traceroute:检查数据包所经过的路由器 wget:下载文件 telnet:远程登录 et

linux之网络管理命令

本篇主要介绍linux下网络查看.配置的基本命令:ifconfig.ip.route,然后捎带介绍下DNS.主机名等信息的配置!1.网络接口类型:lo:本地回环接口eth[0-9]:以太网接口pppx:点对点的连接2.网络IP地址配置命令之ifconfig        //可以查看具体的活动的网卡信息 当我把lo down掉时,如下所示     //ifconfig  lo  down/up  启用或禁用网卡 [[email protected] ~]# ifconfig eno1677773

常用网络管理命令(上)

ifconfig:网络接口配置命令 命令语法: ifconfig:显示所有激活的接口信息 ifconfig [interface]:显示指定接口信息 例:ifconfig eth0 ifconfig [interface] [up|down]:临时启动或关闭指定网络接口 例:ifconfig eth0 down ifup eth0:1 ifdown ifconfig [interface] [ipaddr] netmask [mask]:临时配置ip地址 例:ifconfig eth0:0 19

常用linux网络管理命令(下)

ip:更改或显示路由.IP.协议等信息     ip link:接口管理             show [DEVICE]:显示网卡接口信息             set [DEVICE]                      [up | down]:开启或关闭网络接口                     multicast [on | off]:开启或关闭组播     ip addr:协议地址管理             ip addr [show | flush] [DEVICE

理解linux网络管理命令

linux 管理命令,iproute 查看帮助文件: man ip 以下为常用帮助文件. SEE ALSO ip-address(8), ip-addrlabel(8), ip-l2tp(8), ip-link(8), ip-maddress(8), ip-monitor(8), ip-mroute(8), ip-neighbour(8), ip-netns(8), ip-ntable(8), ip-route(8), ip-rule(8), ip- tcp_metrics(8), ip-tun