网络管理命令和网络组

1. IP命令

  最小化安装linux需要安装bash-completion包实现命令补全功能
配置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]:仅显示处于激活状态的接口
    ip addr { add | del } 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 addr flush 使用格式同show
      ip addr add 172.16.100.100/16 dev eth0 label eth0:0
      ip addr del 172.16.100.100/16 dev eth0 label eth0:0
      ip addr flush dev eth0 label eth0:0
 ip route - routing table management
  添加路由:ip route add
   ip route add TARGET via GW dev IFACE src SOURCE_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 del TARGET
  显示路由: ip route show|list
  清空路由表:ip route flush [dev IFACE] [via PREFIX]
   ip route flush dev eth0

2.ss命令

格式:ss [OPTION]… [FILTER]
  netstat通过遍历proc来获取socket信息
  ss使用netlink与内核tcp_diag模块通信获取socket信息
 选项:
   -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详细信息

3. 网络组Network Teaming

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

网络组由内核驱动和teamd守护进程实现.
 多种方式runner
   broadcast
   roundrobin
   activebackup
   loadbalance
   lacp(implements the 802.3ad Link Aggregation Control Protocol)
 启动网络组接口不会自动启动网络组中的port接口启动网络组接口中的port接口总 会自动启动网络组接口
 禁用网络组接口会自动禁用网络组中的port接口
 没有port接口的网络组接口可以启动静态IP连接
 启用DHCP连接时,没有port接口的网络组会等待port接口的加入
 /sys/class/net/team0查看信息
创建网络组接口
 nmcli con add type team con-name CNAME ifname INAME [config JSON]
  CNAME 连接名
  INAME 接口名
  JSON格式:’{“runner”:{“name”:“METHOD”}}’
   METHOD可以是
    broadcast 在所有的slave接口上传送所有的报文,提供容错能力
    roundrobin 从头到尾顺序的在每一个slave 接口上面发送数据包。本模式提供负载均衡和容错的能力
    activebackup 只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见
    loadbalance 负载平衡
       在主动模式中,通过使用最新流量统计不断进行流量再平衡,以便尽可能平均分配流量。
       在静态模式中,流量会在可用链接之间随机分配。
    lacp 链接聚合控制协议
创建port接口
 nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
  CNAME 连接名
  INAME 网络接口名
  TEAM 网络组接口名
  连接名不指定,默认为team-slave-IFACE
  nmcli dev dis INAME
  nmcli con up CNAME
  INAME 设备名 CNAME 网络组接口名或port接口
 示例:
  nmcli con add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:“loadbalance”}}’ ipv4.addresses 192.168.1.100/24 ipv4.method manual
  nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
  nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
  nmcli con up team0
  nmcli con up team0-eth1
  nmcli con up team0-eth2
  teamdctl team0 state
  nmcli dev dis eth1
创建网络组
 ip link
 nmcli con add type team con-name team0 ifname team0 config ‘{“runner”:{“name”:“activebackup”}}’
 nmcli con mod team0 ipv4.addresses ‘192.168.0.100/24’
 nmcli con mod team0 ipv4.method manual
 nmcli con add con-name team0-port1 type team-slave ifname eth1 master team0
 nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
 teamdctl team0 state
 ping -I team0 192.168.0.254
 nmcli dev dis eno1
 teamdctl team0 state
 nmcli con up team0-port1
 nmcli dev dis eno2
 teamdctl team0 state
 nmcli con up team0-port2
 teamdctl team0 state
管理网络组配置文件
 /etc/sysconfig/network-scripts/ifcfg-team0
  DEVICE=team0
  DEVICETYPE=Team
  TEAM_CONFIG="{“runner”:{“name”:“broadcast”,“hwaddr_policy”:“by_active”}}"
  备注: 这里指定运行方式为activebackup,hwaddr_policy相当于bonding中的fail_over_mac参数,指定硬件地址策略为by_active。
  BOOTPROTO=none
  IPADDR0=192.168.0.100
  PREFIX0=24
  NAME=team0
  ONBOOT=yes
 /etc/sysconfig/network-scripts/ifcfg-team0-eth1
  DEVICE=eth1
  DEVICETYPE=TeamPort
  TEAM_MASTER=team0
  NAME=team0-eth1
  ONBOOT=yes
  TEAM_PORT_CONFIG=’{“prio”: 100}’
删除网络组
 nmcli connection down team0
 teamdctl team0 state
 nmctl connection show
 nmcli connection delete team0-eth0
 nmcli connection delete team0-eth1
 nmcli connection show

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值