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

本文续网络基础与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

[[email protected] ~]# ip link show
[[email protected] ~]# ip -s link show #显示更详细信息

设置eth1网卡为启用状态

[[email protected] ~]# ip link set dev eth1 up

改变设备传输队列长度

[[email protected] ~]# ip link set dev eth0 txqueuelen 100

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

[[email protected] ~]# 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

[[email protected] ~]# ip addr add 192.168.1.10/24 dev eth1

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

[[email protected] ~]# ip addr del 192.168.1.10/24 dev eth1

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

[[email protected] ~]# ip addr list

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

[[email protected] ~]# 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

[[email protected] ~]# ip route add 192.168.2.0/24 via 192.168.1.1

  

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

 [[email protected] ~]# ip route change 192.168.2.0/24 dev eth1

ip route delete-- 删除路由

  缩写:delete、del、d

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

[[email protected] ~]# ip route del 192.168.2.0/24

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

[[email protected] ~]# ip route list

ip route flush -- 擦除路由表

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

[[email protected] ~]# ip addr flush dev eth1

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

[[email protected] ~]# 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)‘

[[email protected] ~]# ss -tan ‘(dport = :22 or sport = :22)‘

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

[[email protected] ~]# 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

时间: 2024-08-02 06:59:39

Linux网络配置之二ip、ss、网络相关配置文件的相关文章

linux网络配置命令(二)——ip

ip命令 查看/设置路由.设备.路由策略和渠道信息 格式 ip [ OPTIONS ] OBJECT { COMMAND | help } OBJECT := { link | addr | addrlabel | route | rule | neigh | tunnel | maddr | mroute | monitor }    #  对象命令,类似于ip命令的子命令 OPTIONS := { -V[ersion] | -s[tatistics] | -r[esolve] | -f[am

Ubuntu Vmware虚拟机网络配置(二)

Ubuntu Vmware虚拟机网络配置(二) 2015-05-17  青岛  张俊浩 对网络配置中遇到的网络相关术语进一步解析. 一.VMware三种上网方式说明 VMware提供了三种工作模式,是bridged(桥接模式).NAT(网络地址转换模式)和host-only(主机模式). 1.bridged(桥接模式) 在这种模式下,VMWare虚拟出来的操作系统就像是局域网中的一台独立的主机,它可以访问网内任何一台机器.在桥接模式下,你需要手工为虚拟系统配置IP地址.子网掩码,而且还要和宿主机

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

CentOS 7.4 ifconfig, ip/ss, nmcli, nmtui, 配置文件 修改ip信息用法 CentOS 7.4 中, 网卡命名方式发生改变, 可预测功能命名: 网卡简要名称组成格式: 前缀 en: ethernet wl:wlan   //无线局域网设备 ww:wwan    //无线广域网设备 名称类型 o<index>:集成设备的设备索引号 onboard板上集成 s<slot>: 扩展槽的索引号 x<MAC>:基于MAC地址的命名 p<

openvpn+网络配置+google二步认证

1,安装依赖 yum install -y openssl openssl-devel lzo lzo-devel pam pam-devel pamtester yum install -y easy-rsa openvpn yum install qrencode ? ================================================== yum install make gcc rpm-build rpmbuild -tb openvpn-2.3.4.tar.

linux 笔记--网络配置ifconfig及ip

MAC:Media  Access  Contro 同轴线传输信号 线路仲裁:在某一时刻哪一个注解能使用这个传输介质 CSMA/CD:载波测听多路访问,冲突检测 (Ethernet 以太网 )  中继器:放大电压,电子在传输过程中会发生碰撞,电压下降  网桥:把同轴线上的主机分为两部分,减少信号冲突,不同部分的主机都可以发送信号  交换机:其实多口网桥就是一个交换机,能够把同轴的主机分成很多个部分,既能互相通信,又能不同主机同时通信  子网掩码:根据ip地址计算网络地址  IPV4:点分十进制,

CENTos 网络配置(二)ifconfig: command not found(CentOS专版,其他的可以参考)

ifconfig: command not found 查看path配置(echo相当于c中的printf,C#中的Console.WriteLine) 1 echo $PATH 解决方案1:先看看是不是root用户,如果不是就 su 切换到root用户 su 解决方案2:(如果没看见 /sbin)[我们这显然不是这个问题] 这个一般都是因为配置没弄好,永久解决: 打开/etc/profile文件,在其中输入export PATH=$PATH:/sbin 解决方案3:(CentOS后来换指令了,

CentOS DVD ISO 网络配置 以及 静态IP设置

参考地址: https://blog.csdn.net/baidu_32523857/article/details/82880678 CentOS下载地址:  https://www.centos.org/download/ 静态IP设置 进入/etc/sysconfig/network-scripts/目录, 修改文件 修改内容如下 原文地址:https://www.cnblogs.com/eason-d/p/11445761.html

Centos7修改网络配置信息(IP地址)

命令:nmtui 选择 Edit a connection 选择需要编辑的网卡 修改完成之后选择OK 然后一路退出 配置完成之后需要重启网卡服务 # 重启网卡 systemctl restart network 原文地址:https://www.cnblogs.com/wtil/p/12609677.html

ios网络编程(二)之网络连接

 上篇的连接方式皆为同步连接,这次就详细介绍一下网络连接的方式 一.连接方式分两种:同步和异步 同步连接 1, 使用 [NSURLConnection sendSynchronousRequest:]方法 2,会出现卡顿现象 异步连接分两种:block 和 delegate 1),  block 的使用方法是[NSURLConnection sendAsynchronousRequest:requset queue:[NSOperationQueue currentQueue] completi