本文续网络基础与Linux网络配置之一 ifconfig、route、netstat命令详解

ip命令

作用
ip是iproute2软件包里面的一个强大的网络配置工具,它能够替代一些传统的网络管理工具,例如ifconfig、route等,使用权限为超级用户。几乎所有的Linux发行版本都支持该命令。

格式
ip [ OPTIONS ] OBJECT { COMMAND | help }
   OBJECT := { link | addr | route | netns  }

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

OPTIONS:

-V:显示指令版本信息;

-s:输出更详细的信息;

-f:强制使用指定的协议族;

-4:指定使用的网络层协议是IPv4协议;

-6:指定使用的网络层协议是IPv6协议;

-0:输出信息每条记录输出一行,即使内容较多也不换行显示;

-r:显示主机时,不使用IP地址,而使用主机的域名。

ip link

ip link set - change device attributes 更改设备属性
      dev NAME (default):指明要管理的设备,dev关键字可省略;
      up和down:
      multicast on或multicast off:启用或禁用多播功能;
      name NAME:重命名接口
      mtu NUMBER:设置MTU的大小,默认为1500;
      netns PID:ns为namespace,用于将接口移动到指定的网络名称空间;
                        
      ip link show - display device attributes
                    
      ip link help - 显示简要使用帮助;

用ip命令显示网络设备的运行状态 缩写:show、list、lst、sh、ls、l

[root@bogon ~]# ip link show
[root@bogon ~]# ip -s link show #显示更详细信息

设置eth1网卡为启用状态

[root@bogon ~]# ip link set dev eth1 up

改变设备传输队列长度

[root@bogon ~]# ip link set dev eth0 txqueuelen 100

改变网络设备MTU(最大传输单元)的值。

[root@bogon ~]# ip link set dev eth0 mtu 1500

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中运行命令

ip addr

ip address add--添加一个新的协议地址. 缩写:add、a

[root@bogon ~]# ip addr add 192.168.1.10/24 dev eth1

ip address delete--删除一个协议地址. 缩写:delete、del、d

[root@bogon ~]# ip addr del 192.168.1.10/24 dev eth1

ip address show--显示协议地址. 缩写:show、list、lst、sh、ls、l

[root@bogon ~]# ip addr list

ip address flush--清除协议地址. 缩写:flush、f

[root@bogon ~]# ip addr flush dev eth1

ip route

ip route add -- 添加新路由
   ip route change -- 修改路由
   ip route replace -- 替换已有的路由

  缩写:add、a;change、chg;replace、repl

设置到网络192.168.2.0/24的路由经过网关192.168.1.1

[root@bogon ~]# ip route add 192.168.2.0/24 via 192.168.1.1

  

修改到网络192.168.2.0/24的直接路由,使其经过设备eth1

 [root@bogon ~]# ip route change 192.168.2.0/24 dev eth1

ip route delete-- 删除路由

  缩写:delete、del、d

删除上一节命令加入的路由

[root@bogon ~]# ip route del 192.168.2.0/24

ip route show -- 列出路由
    缩写:show、list、sh、ls、l

[root@bogon ~]# ip route list

ip route flush -- 擦除路由表

ip address flush - flush protocol addresses
  ip  addr  flush  dev  IFACE

[root@bogon ~]# ip addr flush dev eth1

ip route get -- 获得单个路由 .缩写:get、g

[root@bogon ~]# ip route get 192.168.2.0
192.168.2.0 via 192.168.1.1 dev eth0  src 192.168.1.105 cache  mtu 1500 advmss 1460 hoplimit 64

ss命令

ss是Socket Statistics的缩写。顾名思义,ss命令可以用来获取socket统计信息,它可以显示和netstat类似的内容。但ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。

当 服 务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。可能你不会 有 切身的感受,但请相信我,当服务器维持的连接达到上万个的时候,使用netstat等于浪费 生命,而用ss才是节省时间。

天 下 武功唯快不破。ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核 中 第一手的信息,这就确保了ss的快捷高效。当然,如果你的系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍慢。(但仍 然 比 netstat要快。)

1.命令格式:

ss [选项]

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)'

[root@bogon ~]# ss -tan '(dport = :22 or sport = :22)'

查看所有tcp相关的建立的连接

[root@bogon ~]# ss -tan state ESTABLISHED

常用组合选项 
-tan,  -uan,  -tnl,  -unl,  -tunlp ...

网络相关的配置文件:

配置文件:

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

转载于:https://blog.51cto.com/zhaoyongtao/1757218

Linux网络配置之二ip、ss、网络相关配置文件相关推荐

  1. 玩转“网上邻居”之网络配置(二)

    接上篇 二.混合系统网络 目前实际应用中单一系统的对等网络已不是主流,主要是由于这种网络性能较低,缺乏很好看安全及网络管理能力.目前在各企事业单位中普遍应用的还是基于多系统的域结构混合网络.但因目前主 ...

  2. Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园

    Ubuntu18.04的网络配置(静态IP和动态IP) - OpsDrip - 博客园

  3. ArchLinux(2013)中的网络配置和静态IP时DNS刷新的解决方法

    ArchLinux(2013)中的网络配置和静态IP时DNS刷新的解决方法 参考文章: (1)ArchLinux(2013)中的网络配置和静态IP时DNS刷新的解决方法 (2)https://www. ...

  4. Linux网卡配置(二)网卡配置命令

    Linux网卡配置(二)网卡配置命令 <!--[if !supportLists]-->1.  <!--[endif]-->Netconfig <!--[if !supp ...

  5. OSI七层网络结构图与TCP/IP五层网络结构图

    一. OSI七层网络结构图与TCP/IP五层网络结构图 又称<OSI七层网络模型与TCP/IP四层网络模型>. (1)OSI七层模型 OSI中的层 功能 TCP/IP协议族 应用层 文件传 ...

  6. CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法

    CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法 CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名: 网卡简要名称组成格 ...

  7. Linux 网络配置命令:ip、ss

    配置linux网络命令     ip:show / manipulate routing, devices, policy routing and tunnels         ip [option ...

  8. 【Linux】linux的网络配置(动态IP与静态IP)

    文章目录 一.动态IP配置 第一步:编辑网络配置文件 第二步:设置桥接模式 第三步:测试 二.静态IP配置 第一步:编辑网络配置文件 第二步:重启网络服务 第三步:测试 你可能遇到ping不通的问题 ...

  9. Linux 网络配置 ifconfig、ip、netstat 命令的使用

    IP地址是属于内核的,不是属于网卡的.只要内核中有就能ping通. 常见的网卡类型: lo(loopback):本地回环. ethNUM:以太网网卡.CentOS7中为ensNUMs. pppNUM: ...

  10. CentOS7 网络配置超详细ip、网关设置

    CentOS7 网络配置 一.在虚拟机中安装CentOS操作系统 安装好虚拟机 创建新的虚拟机,选择自定义(高级),点击下一步 虚拟机硬件兼容性默认,浏览需要安装的CentOS6.5镜像文件 自定义用 ...

最新文章

  1. html5 lineheight属性,HTML中line-height的继承
  2. linux chmod和fchmod设置 文件和目录权限设置
  3. Spring4 MVC json问题(406 Not Acceptable)
  4. python 标准化_数据标准化
  5. html5中折叠面板,Ant Design中折叠面板Collapse
  6. 使用VS2010代码分析功能增强ASP.NET应“.NET研究”用程序安全
  7. 给fiddle 解密_fiddler学习笔记2 字段说明;移动设备、解密证书
  8. 如何快速搭建yum源和成功检测第三方软件
  9. oracle执行plus时跳出,oracle – 从shell脚本运行sqlplus时管理错误处理
  10. LayaAir 图集动画2—动画运用
  11. 射线 ray linerender spotlight
  12. 浅层介质过滤器工作原理介绍
  13. XYNU—ACM暑假集训第三次测试 贪心算法
  14. 2022在线微信对话生成器源码,抖音微信聊天搞笑视频制作神器
  15. 甲骨文中间件与主数据管理平台
  16. 【微信小程序-初级实战】商品/表单编辑
  17. 究竟什么是项目管理?它的主要内容是什么呢?
  18. Python 类的定制
  19. Cisco Packet Tracer(对cisco模拟器的初识+路由基本配置)
  20. 深度学习笔记其七:计算机视觉和PYTORCH

热门文章

  1. IBM Rational Appscan使用之扫描结果分析
  2. SpringSecurity源码解读
  3. 3.JAVA内存溢出
  4. jsp中的session和上下文
  5. 进阶之路(基础篇) - 009 通过底层AVR方法实现SPI数据传输
  6. B - Vicious Keyboard
  7. [算法竞赛入门]WERTYU
  8. Android自定义View的构造函数
  9. 【简单思考】noip模拟赛 NTR酋长
  10. 数据分析/数据挖掘/机器学习---- 必读书目