网络相关命令

网络相关命令


常用命令

ifcfg家族:

  ifconfig:配置IP,NETMASK
  route :路由
  netstat : 状态及统计数据查看

iproute2家族

    ip  系列
        addr:地址和掩码
        link :接口
        route:路由
    ss:状态及统计数据查看

centos 7 nm(Network  Manager)家族

    特点:既能够立即生效,又能修改配置文件
    nmcli:命令行工具
    bmtul:text windows

注意:

(1)DNS服务器指定
    一般要编辑配置文件: /etc/resolv.conf     
(2)主机名:只是用来表示本地主机 
     centos6 : 临时:hostname
     配置文件 :/etc/sysconfig/network
     CentOS 7 :hostnamectl 
           这个命令修改的是  /etc/hostname

配置文件:

RedHat及相关发行版
    /etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME

ifcfg命令家族: ifconfig, route, netstat

ifconfig命令:接口及地址查看和管理

语法:ifconfig  [INTERFACE] 显示网络信息

# ifconfig -a:显示所有接口,包括inactive状态的接口;

语法:ifconfig interface [aftype] options | address … 启动或关闭某块网卡

# ifconfig  IFACE(接口名)   IP/MASK  [up|down]

# ifconfig  IFACE(接口名)  IP  netmask  NETMASK

    options:
        [-]promisc

    注意:立即送往内核中的TCP/IP协议栈,并生效;

管理IPv6地址:

    add addr/prefixlen
    del  addr/prefixlen

route命令:路由查看及管理

路由条目类型:
    主机路由:目标地址为单个IP;
    网络路由:目标地址为IP网络;
    默认路由:目标为任意网络,0.0.0.0/0.0.0.0

查看:

# route  -n    查看路由表(不会反解地址和端口号)

网络相关命令

添加:

语法:route  add  [-net|-host]  target  [netmask  Nm]  ( [gw GW]  [[dev] If])   删除的话括号内可以不写

示例:
    route add -net  10.0.0.0/8  gw  192.168.10.1  dev  eth1
    到达10.0.0.0这个地址的下一跳是192.168.10.1 (注意下一跳的地址必须与主机在同一网段中,后边的 dev 。。。可以不写)

两种写法
    route add -net 224.0.0.0 netmask 240.0.0.0 dev eth0    #增加一条到达244.0.0.0的路由。
    route add  -net  0.0.0.0/0.0.0.0  gw 192.168.10.1  

添加默认网关    
    route add  default  gw 192.168.10.1

删除:

route  del  [-net|-host] target  [gw Gw]  [netmask Nm]  [[dev] If]

示例: 
    route  del  -net  10.0.0.0/8  gw 192.168.10.1     
    删除 10.0.0.0/8 这一条路由条目

    删除目标:192.168.1.3  网关:172.16.0.1
    # route del -host 192.168.1.3    


删除默认网关    
    route  del  default  

一个网络的两个网段的主机如果想要ping通,就需要自自己吧自己设置成为路由!即 GETWAY=自己
    这时route -n查看后就能知道了!

配置动态路由
        通过守护进程获取动态路由
• 安装quagga包,支持多种格式的RIP、OSPF和BGP
• 命令vtysh配置(同思科路由器配置)

netstat命令:

gn显示网络连接路由表,路由数据,伪装连接,伪装数据,显示多播成员关系!

显示路由表:

netstat  -rn

-r:显示内核路由表
-n:数字格式,不反解IP地址至主机名;

显示网络连接:

netstat
 [—tcp|-t]  [—udp|-u]  [—udplite|-U]  [—sctp|-S]  [—raw|-w]  
[—listening|-l]  [—all|-a]  [—numeric|-n]   [—extend|-e[—extend|-e]]  
[—program|-p]

  • -t:TCP协议的相关连接,连接均有其状态;FSM(Finate State Machine);

  • -u:UDP相关的连接

  • -w:raw socket相关的连接

  • -l:处于监听状态的连接

  • -a:所有状态

  • -n:以数字格式显示IP和Port;

  • -e:扩展格式

  • -p:显示相关的进程及PID;

常用组合:

netstat   -tan(所有状态的连接),  -uan,  -tnl,  -unl,  -tunlp

网络相关命令                        

  • 传输层协议:
     tcp:面向连接的协议;通信开始之前,要建立一个虚链路;通信完成后还要拆除连接;
     udp:无连接的协议;直接发送数据报文;

显示接口的统计数据:

netstat    {—interfaces|-I|-i}    [iface]   [—all|-a]   [—extend|-e]   [—verbose|-v]   [—program|-p]  [—numeric|-n]

  • 所有接口:

      netstat  -i
  • 指定接口:

       netstat  -I<IFace>
        [root@localhost ~/bin ]# netstat -i
        Kernel Interface table
        Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
        eno16777  1500   647978      0      0 0         62975      0      0      0 BMRU
        eno16777  1500      - no statistics available -                        BMRU
        lo       65536      459      0      0 0           459      0      0      0 LRU
        virbr0    1500        0      0      0 0             0      0      0      0 BMU
        [root@localhost ~/bin ]# netstat -Ieno16777736
        Kernel Interface table
        Iface      MTU    RX-OK RX-ERR RX-DRP RX-OVR    TX-OK TX-ERR TX-DRP TX-OVR Flg
        eno16777  1500   648191      0      0 0         62994      0      0      0 BMRU

ifup/ifdown命令:

注意:通过配置文件/etc/sysconfig/network-scripts/ifcfg-IFACE来识别接口并完成配置;

配置主机名:

hostname命令:

    查看:hostname
    配置:hostname  HOSTNAME
        当前系统有效,重启后无效;

hostnamectl命令(CentOS 7):

hostnamectl  status:显示当前主机名信息;
hostnamectl  set-hostname:设定主机名,永久有效;

    [root@localhost ~/bin ]# hostnamectl set-hostname  QZX
     [root@localhost ~/bin ]# cat /etc/hostname 
     qzx         ------------此命令改动的是/etc/hostname 下次登录就能生效了

配置文件:/etc/sysconfig/network
    HOSTNAME=<HOSTNAME>

    注意:此方法的设置不会立即生效; 但以后会一直有效;

配置DNS服务器指向:

配置文件:/etc/resolv.conf

nameserver 语法:

nameserver   DNS_SERVER_IP

配置DNS服务器 为….

如何测试(host/nslookup/dig):

        # dig  -t  A  FQDN
            FQDN --> IP
        dig -t A www.baidu.com --- ip地址


        # dig  -x  IP
            IP --> FQDN

iproute家族:

ip命令:

功能:查看、管理路由、策略路由、隧道

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

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

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 address – protocol address management.

ip address add – add new protocol address

   ip  addr  add  IFADDR  dev  IFACE
    [label NAME]:为额外添加的地址指明接口别名(为了让ifconfig能显示);
    [broadcast ADDRESS]:广播地址;会根据IP和NETMASK自动计算得到;
    [scope SCOPE_VALUE]:
        global:全局可用;
        link:接口可用;
        host:仅本机可用;

网络相关命令
也可以多次执行,给网卡添加多个地址

ip address delete – delete protocol address

    ip addr  delete  IFADDR  dev  IFACE
    ip address show - look at protocol addresses
            ip  addr   list  [IFACE]:显示接口的地址;

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

    ip addr flush dev eth0 label eth0:0
    清空指定的 eth0

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]

示例:
    # ip route add 192.168.0.0/24  via 10.0.0.1  dev eth1 src  10.0.20.100
    # ip  route  add default  via  GW
  • ip route delete – delete route

  • ip  route  del  TYPE PRIFIX

    示例:
      # ip  route delete  192.168.1.0/24

  • ip route show – list routes

          TYPE PRIFIX
  • ip route flush – 清空路由表 flush routing tables

              TYPE  PRIFIX
          可以指定删除某类地址

    网络相关命令

  • ip route get – 获取单条路由 get a single route

                  ip  route  get  TYPE PRIFIX
    
          示例:ip route  get  192.168.0.0/24

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

       ~]# ss   -tan    '(  dport = :22 or sport = :22  )'
           过滤:tcp连接中只要目的端口 或 源端口为22的

    网络相关命令    

    ss  -tan  state  ESTABLISHED

    只看建立连接的条目
    网络相关命令

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详细信息

配置文件:

IP/NETMASK/GW/DNS等属性的配置文件:

/etc/sysconfig/network-scripts/ifcfg-IFACE

IFACE:接口名称;

路由的相关配置文件:

/etc/sysconfig/networkj-scripts/route-IFACE

/etc/sysconfig/network-scripts/ifcfg-IFACE

说明参考/usr/share/doc/initscripts-9.49.30sysconfig.txt 、

配置文件/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服务器指向;默认为允许;(覆盖到/etc/resolv.conf文件)

  • HWADDR:设备的MAC地址;

  • NM_CONTROLLED:是否使用NetworkManager服务来控制接口;建议CentOS6为“no” 禁止掉

网络相关命令网络相关命令
网络相关命令

网络服务:

  • network

  • NetworkManager
    CentOS 6 NetworkManager还处于试验中,进行高级功能时尽量不要使用!CentOS 7已经很完善了

    • 可以用 chkconfig —list 查看是否启动

管理网络服务:

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

网络相关命令


nmcli命令:

Centos 7专用

nmcli  [ OPTIONS ] OBJECT { COMMAND | help }

    device - 显示及管理网络接口(ip link)show and manage network interfaces

        COMMAND := { status | show | connect | disconnect | delete | wifi | wimax }

    connection - start, stop, and manage network connections
        COMMAND := { show | up | down | add | edit | modify | delete | reload | load }

        modify [ id | uuid | path ] <ID> [+|-]<setting>.<property> <value>

        如何修改IP地址等属性:
            # nmcli  conn  modify  IFACE  [+|-]setting.property  value
                ipv4.address
                ipv4.gateway
                ipv4.dns1
                  ipv4.method
                        manual

不如用 nmtui 命令!

配置好以后用 systemctl restart network.service 重启下网络服务

Centos 6 可以用setup

这两个命令都是直接编辑的配置文件

原创文章,作者:qzx,如若转载,请注明出处:http://www.178linux.com/44422

(0)
qzxqzx
上一篇 2016-09-07
下一篇 2016-09-07

相关推荐

  • rpm和yum

     1、rpm的安装 rpm {-i|–install} [install-options] PACKAGE_FILE… -v: verbose -h: 以#显示程序包管理执行进度 rpm -ivh PACKAGE_FILE … [install-options] …

    Linux干货 2016-08-21
  • 马哥教育网络21期+第六周练习博客

    马哥教育网络21期+第六周练习博客 请详细总结vim编辑器的使用并完成以下练习题     VIM编辑器:         vi:Visual Interface 文本编辑器    &nbsp…

    Linux干货 2016-08-05
  • Linux基础之安全加密及CA、证书实战应用

    一、建立私有CA并让客户端申请请求,需要两台虚拟机完成 1、建立私有CA,生成私钥 2、CA公司给自己,生成自签证书 3、为CA提供所需要的目录及文件(如果事先存在,此步骤可以跳过) 二、CA公司已建立,需要一台客户机配合CA签署证书 1、客户端用到证书,因此生成私钥 2、客户端生成证书签署请求 3、将请求通过可靠方式发送给CA主机,这里作为测试,因此使用s…

    Linux干货 2016-10-04
  • 设计模式原则详解

        我们在应用程序开发中,一般要求尽量两做到可维护性和可复用性。       应用程序的复用可以提高应用程序的开发效率和质量,节约开发成本,恰当的复用还可以改善系统的可维护性。而在面向对象的设计里面,可维护性复用都是以面向对象设计原则为基础的,这些设计原则首先都是复用的原则,遵循这些设…

    Linux干货 2015-04-07
  • 第六周作业

    一、Vim编辑器练习: 用Vim编辑器做下面的练习,我的Linux系统(CentOS 6.9)安装了精简版系统,没有Vim编辑器。 a、设置Yum源为网易开源镜像站。 b、选择对应“镜像名”,到对应的“CentOS使用说明”里面查看内容 c、看着CentOS说明操作就可以了 d、使用说明 首先备份/etc/yum.repos.d/CentOS-Base.re…

    Linux干货 2017-08-22
  • 字符串切片和yum的用法和rpm的编译安装

    1、冒泡法对数组内数据排序 2、源码安装http2.2.29     1.配置/etc/yum.repos.d/base.repo              2.安装group组:Development too…

    Linux干货 2016-08-30

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 10:58

    对网络管理类命令总结的很详细,也有自己的操作,如果能对个命令显示结果进行分析,会让文章更加具有实际意义。