三、iproute2家族
1.ip //查看和管理路由,设备,策略路由,以及隧道
ip [ OPTIONS] OBJECT COMMAND
OBJECT={link | addr | route | netns|....} //object可以简写,object的子命令也可以简写
link set [dev] eth0 down|up //改变网络属性
set arp on|off //启用或者禁用arp
set multicast on|off //启用或者禁用多播
set name //修改名字
ip link set lo name eth0//需要先down才能修改名字
set mtu,默认为1500
set txqlen
link show|list [eth0] //查看设备属性
ip li sh //相当于ip link show
注意:man ip-link,man ip-route
ip link help //查看简单帮助信息
netns //ip netns help :ns namespace命名空间
ip netns add mynet
ip netns list //列出所有的netns
ip link set eno16777736 netns mynet //移动到该空间
ip netns exec mynet ip link show //在netns中运行该命令
ip netns del mynet //删除该命名空间
addr //man ip-address
add:ip addr IFADDR dev IFACE
ip addr add eth0 192.168.0.1/24 dev eth1
ip addr add 192.168.0.2/24 dev eth0 //添加多块地址
ip addr list eth0 //只能用这个命令查看备用ip地址
注意:ifconfig默认不能显示该地址
ip addr add 192.168.0.4/24 label eth0:2 dev eth0 //添加标签
注意:ip addr只有添加标签后,ifconfig才能看见
scope 作用域:
global:全局可用
site:
link:接口可用,外部的其他接口不可用。自己ping自己可以,只用于自己和自己通信
host:只在本机内部是可用的
del:
ip addr del IFADDR/prefix dev eth0
flush: //清空所有的ip地址
ip addr flush dev eth0
show [eth0]
route
ip route { add | del | change | append | replace } ROUTE
ip route add TYPE PREFIX via gw [dev IFACE] [src SOURCE_IP]
ip route change
ip route replace
to TYPE PREFIX (default) //to:到达指定目标,
//TYPE:目标可以使主机路由,或者网络路由等
//PREFIX:掩码后缀
dev //本地出接口
via ADDRESS //下一跳
src ADDRESS //源地址
ip route add 192.168.0.0/24 via 10.0.0.1 dev eth0
ip route add 192.168.1.0/24 via 10.0.0.1 dev eth0 src 10.0.0.120 //假如有多个地址的话,可以指定源地址
ip route add default via 192.168.0.1 dev eth0
//replace和change都是一样的
ip route delete
ip route delete 192.168.0.0/24
ip route show|list
src|to
ip route show src 192.168.3.124
ip route show to 192.168.1.0/24
ip route flush //清空所有路由表
ip route flush 192.168.1/24 //清空192.168.1.0的所有路由
ip route get
to|from|iif|oif ADDRESS
FILTER:[state TCP-STATE] [EXPRESSION] 过滤器
//UDP是没有状态的
TCP的常见状态:
TCP FSM:
listen:监听,ESTABLISHED:已建立的链接,
FIN_WAIT_1:一方启动,等待对方
FIN_WAIT_2:分手的时候,一方分手,一方确认
SYN_SENT:
SYN_RECV:
CLOSED:
EXPRESSION:
dport=
sport=
示例:‘( dport = 22 or sport = :22 )'
ss -tan state ESTABLISHED '( sport = :22 )'
ss -tan '( sport = :22 or dport = :22 )'
ss -o state established
配置文件 :
IP/NETMASK/GW/DNS等属性配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
路由的配置文件:/etc/sysconfig/network-scriptes/route-IFACE
四、nmtui家族
nmcli命令
nmctl [options] OBJECT {COMMAND|help}
device :显示和管理网络接口
nmctl device show|status|disconnect|connect
connection:COMMAND := { show | up | down | add | edit | modify | delete | reload | load }
nmcli conn show
edit //修改各种属性
nmcli conn modify eno16777736 +ipv4.address 192.168.0.100
nmcli conn up eno16777736
如何修改IP地址等属性
nmcli conn modify IFACE [+|-]setting.property value
ipv4.address
ipv4.gateway
ipv4.dns1
ipv4.method
manual
使用nmtui就行了,nm命令比较难用
五、TCP FSM
附件:tcp FSM :TCP Finite State Machine //TCP的有限状态机制
CLOSED 呈阻塞、关闭状态,表示主机当前没有活动的传输连接或正在进行传输连接
LISTEN 呈监听状态,表示服务器正在等待新的传输连接进入
SYN RCVD 表示主机已收到一个传输连接请求,但尚未确认
SYN SENT 表示主机已经发出一个传输连接请求,等待对方确认
ESTABLISHED 传输连接建立,通信双方进入正常数据传输状态
FIN WAIT 1(主动关闭)主机已经发送关闭连接请求,等待对方确认 //我已发送关闭请求
FIN WAIT 2(主动关闭)主机已收到对方关闭传输连接确认,等待对方发送关闭传输连接请求 //已经收到对方关闭确认,等待对方关闭传输请求
TIMED WAIT 完成双向传输连接关闭,等待所有分组消失 //等待分组完成
CLOSING 双方同时尝试关闭传输连接,等待对方确认 //等待对方确认
CLOSE WAIT(被动关闭)收到对方发来的关闭传输连接请求,并已确认 //被
LAST ACK (被动关闭)等待最后一个关闭传输连接确认,并等待所有分组消失