Linux iproute2 命令家族(ip / ss)
Linux iproute2 命令家族(ip / ss)
- iproute 简介
- ip 命令
- 1、ip link
- 1.1 up / down 和 multicast
- 1.2 name
- 1.3 mtu
- 1.4 netns
- 1.5 show
- 1.6 help
- 2、ip netns
- 3、ip address
- 3.1 ip address add
- 3.2 ip address delete
- 3.3 ip link show
- 3.4 ip link flush
- 4、ip route
- 5、ip link set
- ss 命令
- 1、ss 语法格式
- 2、TCP 常见状态
iproute 简介
iproute 与 内核是密切相关的,所以两者版本是一致的。
[root@LeeMumu ~]# rpm -qi iproute
Name : iproute
Version : 4.11.0
Release : 14.el7_6.2
Architecture: x86_64
Install Date: Sun 28 Jul 2019 09:28:29 AM EDT
Group : Applications/System
Size : 1793061
License : GPLv2+ and Public Domain
Signature : RSA/SHA256, Mon 29 Apr 2019 11:45:09 AM EDT, Key ID 24c6a8a7f4a80eb5
Source RPM : iproute-4.11.0-14.el7_6.2.src.rpm
Build Date : Wed 24 Apr 2019 10:03:34 AM EDT
Build Host : x86-02.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://kernel.org/pub/linux/utils/net/iproute2/
Summary : Advanced IP routing and network device configuration tools
Description :
The iproute package contains networking utilities (ip and rtmon, for example)
which are designed to use the advanced networking capabilities of the Linux
kernel.
[root@LeeMumu ~]# uname -r
3.10.0-957.el7.x86_64
[root@LeeMumu ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
ip 命令
用来显示或操纵Linux主机的路由、网络设备、策略路由和隧道,是Linux下较新的功能强大的网络配置工具。
show / manipulate routing, devices, policy routing and tunnels
语法格式:
# ip [ OPTIONS ] OBJECT { COMMAND | help }OBJECT := { link | addr | route | netns }注意: OBJECT可简写,各OBJECT的子命令也可简写
1、ip link
ip link: network device configuration
1.1 up / down 和 multicast
ip link set - change device attributesdev NAME (default) # 指明要管理的设备,dev 关键字可省略up 和 down # 对接口进行up或downmulticast on 或 multicast off # 启用或禁用多播功能# ip link set tangtang multicast on
1.2 name
# ip link set name NAME:重命名接口# 重命名接口时,需要对接口进行down,才能进行操作# ip link set wlp2s0 name tangtang
RTNETLINK answers: Device or resource busy
# ip link set wlp2s0 down
# ip link set wlp2s0 name tangtang
# ip link show
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: enp1s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000link/ether e4:3a:6e:0a:9b:88 brd ff:ff:ff:ff:ff:ff
3: tangtang: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN mode DEFAULT qlen 1000link/ether d0:c5:d3:4e:25:71 brd ff:ff:ff:ff:ff:ff
1.3 mtu
# ip link set mtu NUMBER # 设置 MTU 的大小,默认为1500# ip link set tangtang mtu 1300
1.4 netns
netns PID # ns为namespace,用于将接口移动到指定的网络名称空间# ip netns add neo
# ip netns list
# ip link set tangtang netns neo
1.5 show
# ip link show - display device attributes# 看二层设备的相关属性,和 IP 地址没关系
1.6 help
# ip link help - 显示简要使用帮助
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
3.1 ip address add
ip address add - add new protocol address
# ip addr add IFADDR dev IFACE[label NAME]:为额外添加的地址指明接口别名指定接口别名后,使用 ifconfig -a 可以查看到所有的接口名称和IP地址不指定接口别名后,使用 ip addr list IFACE 进行查看[broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到[scope SCOPE_VALUE]:global:全局可用link:接口可用host:仅本机可用
# ip addr add 10.0.0.1/8 dev tangtang
# ip addr add 10.0.0.2/8 dev tangtang
# ip addr add 10.0.0.3/8 dev tangtang label tangtang:0
# ip addr add 192.168.0.2/24 dev tangtang label tangtang:1 # ifconfig -a
tangtang: flags=4098<BROADCAST,MULTICAST> mtu 1500 inet 10.0.0.1 netmask 255.0.0.0 broadcast 0.0.0.0 ether d0:c5:d3:4e:25:71 txqueuelen 1000 (Ethernet) RX packets 0 bytes 0 (0.0 B) RX errors 0 dropped 0 overruns 0 frame 0 TX packets 0 bytes 0 (0.0 B) TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0 tangtang:0: flags=4098<BROADCAST,MULTICAST> mtu 1500 inet 10.0.0.3 netmask 255.0.0.0 broadcast 0.0.0.0 ether d0:c5:d3:4e:25:71 txqueuelen 1000 (Ethernet) tangtang:1: flags=4098<BROADCAST,MULTICAST> mtu 1500 inet 192.168.0.2 netmask 255.255.255.0 broadcast 0.0.0.0 ether d0:c5:d3:4e:25:71 txqueuelen 1000 (Ethernet) # ip addr list tangtang
3: tangtang: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether d0:c5:d3:4e:25:71 brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/8 scope global tangtang valid_lft forever preferred_lft forever inet 192.168.0.2/24 scope global tangtang:1 valid_lft forever preferred_lft forever inet 10.0.0.2/8 scope global secondary tangtang valid_lft forever preferred_lft forever inet 10.0.0.3/8 scope global secondary tangtang:0 valid_lft forever preferred_lft forever
3.2 ip address delete
delete protocol address
# ip addr delete IFADDR dev IFACE
# ip addr delete 10.0.0.3/8 dev tangtang
3.3 ip link show
look at protocol addresses# ip addr list [IFACE]:显示接口的地址
# ip addr list tangtang
3: tangtang: <BROADCAST,MULTICAST> mtu 1500 qdisc mq state DOWN qlen 1000 link/ether d0:c5:d3:4e:25:71 brd ff:ff:ff:ff:ff:ff inet 10.0.0.1/8 scope global tangtang valid_lft forever preferred_lft forever inet 192.168.0.2/24 scope global tangtang:1 valid_lft forever preferred_lft forever inet 10.0.0.2/8 scope global secondary tangtang valid_lft forever preferred_lft forever
3.4 ip link flush
flush protocol addresses
# ip addr flush dev IFACE 清楚接口所有地址
# ip addr flush dev tangtang
4、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]IFACE 有多个地址,在配置路由时,可以指定 SOURCE_IP GW 下一跳# ip route delete - delete routeip route del TYPE PRIFIX # ip route show - list routesTYPE PRIFIX
# ip route flush - flush routing tables # 清除路由/指定路由TYPE PRIFIX# ip route get - get a single route # 获取到达特定目的地址的路由条目ip route get TYPE PRIFIX
# ip route add 192.168.0.0/24 via 10.0.0.1 dev eth1 src 10.0.20.100## 配置带源地址的路由# ip route add 192.168.10.0/24 via 192.168.5.100 dev eth0## 前往目的网络 192.168.10.0/24 的下一跳是 192.168.5.100 ,接口是 eth0# ip route add default via GW
# ip route delete 192.168.1.0/24
# ip route get 192.168.0.0/24# ip route get 192.168.1.0/24
broadcast 192.168.1.0 dev ens33 src 192.168.1.9 cache <local,brd> # ip route add default via 192.168.1.2 dev eth0## 默认路由指向 192.168.1.2 ,接口是 eth0## 只要一个默认路由就 OK
[root@Tang-1 ~]# ip route show
default via 172.16.141.1 dev enp1s0 proto static metric 100
172.16.141.0/24 dev enp1s0 proto kernel scope link src 172.16.141.209 metric 100
[root@Tang-1 ~]# ip route list
default via 172.16.141.1 dev enp1s0 proto static metric 100
172.16.141.0/24 dev enp1s0 proto kernel scope link src 172.16.141.209 metric 100
[root@Tang-1 ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 172.16.141.1 0.0.0.0 UG 100 0 0 enp1s0
172.16.141.0 0.0.0.0 255.255.255.0 U 100 0 0 enp1s0
5、ip link set
# ip link set eth0 up## 启动 eth0 # ip link set eth0 down## 关闭 eth0# ip link set eth0 mtu 1000## 更改 MTU 的值为 1000 bytes.使用 ifconfig 也能更新网卡的 MTU
# ip link set eth0 name vbirdSIOCSIFNAME: Device or resource busy## 该设备目前是启动,应该先# ip link set eth0 down mtu 900 qdisc pfifo_fast qlen 1000link/ehter 00:40:d0:13:c3:46 brd ff:ff:ff:ff:ff:ff## 网卡名称也可以进行改变,ifcfg-eth0 建议使用默认的接口名称# ip link set vbird name eth0 ## 设备的硬件相关信息,包括MTU、MAC及传输的模式等,都能在这里设置## address的项目后接的可是 MAC 而不是IP
ss 命令
iproute2 包附带的一个工具,用来显示处于活动状态的套接字信息。ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
1、ss 语法格式
another utility to investigate sockets
ss [options] [ FILTER ] OPTIONS: -t:TCP协议的相关连接 -u:UDP相关的连接 -w:raw socket相关的连接 -l:监听状态的连接 -a:所有状态的连接 -n:数字格式 -p:相关的程序及其PID -e:扩展格式信息 -m:内存用量 -o:计时器信息 FILTER := [ state TCP-STATE ] [ EXPRESSION ]实现状态过滤的功能EXPRESSION:dport = sport = 示例:'( dport = :22 or sport = :22)'
# ss -tan '( dport = :22 or sport = :22 )' 注意空格
# ss -tan state ESTABLISHED 只显示已连接状态的连接
[root@LeeMumu ~]# ss -tanp
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:* users:(("sshd",pid=7017,fd=3))
LISTEN 0 100 127.0.0.1:25 *:* users:(("master",pid=7148,fd=13))
ESTAB 0 52 192.168.1.9:22 192.168.1.199:64402 users:(("sshd",pid=7282,fd=3))
LISTEN 0 128 :::22 :::* users:(("sshd",pid=7017,fd=4))
LISTEN 0 100 ::1:25 :::* users:(("master",pid=7148,fd=14))
[root@LeeMumu ~]# ss -tan
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
ESTAB 0 52 192.168.1.9:22 192.168.1.199:64402
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*
2、TCP 常见状态
TCP FSM:LISTEN # 监听ESTABLISEHD # 建立的连接FIN_WAIT_1 # 等待断开连接FIN_WAIT_2 # 确认断开连接SYN_SENT # 发送SYN_RECV # 接收CLOSED # 关闭
[root@LeeMumu ~]# ss -tan '( dport = :22 or sport = :22 )'
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:22 *:*
ESTAB 0 52 192.168.1.9:22 192.168.1.199:64402
LISTEN 0 128 :::22 :::*
Linux iproute2 命令家族(ip / ss)相关推荐
- Linux 基础命令:IP 路由操作 -ip命令
转自Linux爱好者:Linux 基础命令:IP 路由操作 Table of Contents ip 1.语法 2.选项列表 3.ip link---网络设备配置 4.ip address---协议地 ...
- Linux之命令改ip
从8.10开始,系统配置ip就比较复杂.原因是有个network-manager 管理软件来管理ip,虽使ip配置简单化了,但不是有效的配置.来自底层的配置才是王道. 首先需要删除network-ma ...
- linux常用命令:ip 命令
ip命令用来显示或操纵Linux主机的路由.网络设备.策略路由和隧道,是Linux下较新的功能强大的网络配置工具.ip命令完全可以替代ifconfig命令,而且功能还比ifconfig命令强大 htt ...
- linux常用命令及ip地址更改
1.linux系统的常用命令 1>输入命令的窗口(终端) 打开终端:ctrl + alt + t peter@ubuntu: ~ $ | | | 用户名 主机名 当前位置(路径) ...
- L67.linux命令每日一练 -- 第十章 Linux网络管理命令 -- netstat和ss
10.7 netstat:查看网络状态 10.7.1 命令详解 [命令星级] ★★★★★ [功能说明] netstat命令用于显示本机网络的连接状态.运行端口和路由表等信息. [语法格 ...
- linux使用命令设置IP,DNS,网关
临时修改 root # ifconfig eth0 192.168.1.10 #设置ip root # route ...
- linux命令取ip,linux下命令取IP地址的多种方法
经常会遇到在命令行取ip地址,或写脚本引用ip地址,需要使用命令取出来:下面的方法根据实际情况调整 下面的命令环境为centos6.6系统:[root@localhost ~]# ifconfig e ...
- Linux arping命令测试IP地址冲突
arping命令可以用来测试局域网各个主机之间的连通性,测试局域网中某个特定的IP地址是否已经被占用,进而可以有效检测局域网内的IP地址冲突问题. 如下图示例:arping -c 3 -f -D *. ...
- linux ifconfig命令配置ip地址
linxu下网卡命名规律:eth0,eth1. 第一块以太网 第二块lo为环回接口,它的IP地址固定为127.0.0.1,掩码8位.它代表你的机器本身. ifconf ...
- linux下的网络管理命令,常用linux网络管理命令(下)
常用linux网络管理命令(下) ip:更改或显示路由.IP.协议等信息 ip link:接口管理 show [DEVICE]:显示网卡接口信息 set [DEVICE] [up | down]:开启 ...
最新文章
- 今日头条女程序员加班加到不来大姨妈,凌晨十二点半回家的她竟然还被老板吐槽不投入!妹子抑郁大哭!...
- 怎么调试多线程代码_IDEA的这几个调试的骚操作,用了都说爽!
- CodeForces - 1058D D. Vasya and Triangle
- 栈和队列:1.栈(Stack)
- 简历python技能怎么写_简历怎么写?列出这10项重要的工作技能
- 【jQuery笔记Part1】01-jQuery简介集成
- 阿里云、天津开启多项合作,区域经济大脑落地津南
- ASP.NET域集成AD身份验证
- AWS CSAA -- 04 AWS Object Storage and CDN - S3 Glacier and CloudFront(二)
- 基于WEB的达内学子书城/商城源代码
- 数据增强_炼丹笔记三:数据增强
- 网页换肤--setAttribute - css
- 一般网站建设大概需要多少钱?
- 基于JSP的班级聚会网站
- 【新东郊商城】周年店庆 关注微信,转发微博抽奖品!玩赚乐不停
- Dubbo-06 20190320
- c语言中 “=”和”==“的区别
- 174道 JavaScript 面试题,助你查漏补缺
- 计算机电源带不起来,电源板带不起负载维修思路总结
- 高等数学学习笔记——第三十四讲——函数的单调性与凹凸性(凹凸性)