zoukankan      html  css  js  c++  java
  • linux基础之网络基础配置

    基础命令:ifconfig/route/netstat,ip/ss,nmcli

    一、ifconfig/route/netstat相关命令

    1.  ifconfig - configure a network interface基本用法:

    ifconfig [interface]
                    # ifconfig -a  //查看本机所有网卡配置相关信息
              # ifconfig IFACE [up|down]  
       比如:
          ifconfig eth0  //查看某个网卡的配置相关信息
       ifconfig interface [aftype] options | address... # ifconfig IFACE IP/mask [up|down]   //设置网络ip及子网掩码,这里子网掩码为长度 # ifconfig IFACE IP newmask MASK  //设置网络ip及netmask,这里子网掩码为具体netmask

              # ifconfig IFACE {down | up}  //启用或停用网卡设备
              实例:ifconfig eth0 down;ifconfig eth0 up  //重新启用网卡设备
              
              启用混杂模式:[-]promisc  
    实例:
    # ifconfig eth0 192.168.0.108/24    //修改ip地址为指定ip地址
    或 # ifconfig eth0 192.168.0.108 netmask 255.255.255.0

    2.  route - show / manipulate the IP routing table

    基本用法:
        查看路由: route -n
        添加路由: route add
        删除路由: route del
    实例:
        添加主机路由: 192.168.1.3 网关: 172.16.0.1
         # route add -host 192.168.1.3 gw 172.16.0.1 dev eth0
    
        添加网络路由: 192.168.0.0 网关:172.16.0.1
         #route add -net 192.168.0.0 netmask 255.255.255.0 172.16.0.1 dev eth0
           或#route add -net 192.168.0.0/24 172.16.0.1 dev eth0
    
        添加默认路由:网关:172.16.0.1
         # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
           或 # route add default gw 172.16.0.1
    删除路由:
        删除主机路由:192.168.1.3 网关: 172.16.0.1
         # route del -host 192.168.1.3
    
        删除网络路由:192.168.0.0 网关:172.16.0.1
         # route del -net 192.168.0.0 netmask 255.255.255.0
    DNS服务器指定: /etc/resolv.conf
        nameserver DNS_SERVER_IP1
        nameserver DNS_SERVER_IP2
        nameserver DNS_SERVER_IP3
      正解测试dns:dig -t A www.ckh.com
      反解测试dns:dig -x IP

    3. netstat - 显示网络连接,路由表,接口状态,伪装连接,网络链路信息和组播成员组

    显示网络连接:
    netstat [--tcp|-t][--udp|-u][--raw|-w][--listening|-l][--all|-a][--numeric|-n][--extend|-e[--extend|-e]][--program|-p]
                     -t: tcp协议相关
                     -u:udp协议相关
                     -w: raw socket相关
                     -l: 处于监听状态
                     -a: 所有状态
                     -n: 以数字显示ip及端口
                     -e: 扩展格式
                     -p: 显示相关进程及PID
    
             常用组合: -atn, -uan, -tnl, -unl
    显示路由信息:netstat {--route|-r}[--numeric|-n] 
                     -r: 显示内核路由表
                     -n: 数字格式
    
    显示接口统计数据:netstat {--interfaces|-i} [iface] [--all|-a][--numeric|-n]
                     # netstat -i
                     # netstat -I IFACE

    二、ip/ss命令

    1.  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 : 激活或禁用指定接口
                    show 
                        [dev IFACE]
                        [up]: 仅显示处于激活状态的接口

    实例:
      ip link set dev eth0 down  //禁用eth0接口
      ip link set dev eth0 up  //启用eth0接口
      ip link show  //查看接口状态

    ip address - protocol address management
                    ip addr { add | del } IFADDR dev STRING
                        [label LABEL]: 添加地址时指明网卡别名
                        [scope {global | link | host}]    :指明作用域                           
                     global: 全局可用 link: 仅链接有用 host: 仅本机可用 [broadcast ADDRESS] ip address show - look at protocol address [dev DEVICE] [label PATTERN] [primary and secondary]
    实例:
      ip addr show  //显示地址
      ip addr show dev eth0  //显示指定网卡的地址
      ip addr add 172.16.100.13/16 dev eth0  //增加一个ip地址
      ip addr del 172.16.100.14/16 dev eth0  //删掉一个ip地址
      ip addr add 172.16.100.13/16 dev eth0 label 'eth0:0'  //增加了一个网卡设备的别名
      ip addr del 172.16.100.13/16 dev eth0 label eth0:0  //删除定义别名的ip
    ip route - routiing table management
                    ip route add 
                         添加路由: ip route add TARGET via GW dev IFACE src SOURCE_IP
                            TARGET:
                                主机路由: IP
                                网络路由: NETWORK/MASK
                         添加网关: ip route add default via GW dev IFACE
                    ip route delete
                        删除路由:
                                ip route del TARGET                    
                    ip route show 
                    ip route flush
                            [dev IFACE]:
                            [via PREFIX]:

      实例:
        ip route add 192.168.1.3 via 172.16.0.1 dev eth0  //增加一个主机路由
        ip route add 192.168.0.0/24 via 172.16.0.1 dev eth0  //增加一个路由 
        ip route del 192.168.0.0/24  //删除一个路由
        ip route add default via 172.16.100.12  //添加一个默认路由
        ip route del default  //删除默认路由

    2.  ss - another utility to investigate sockets

    基本用法:
        ss命令:ss [OPTION]...[FILTER]
                        选项:
                            -t: tcp协议相关
                            -u: udp协议相关
                            -w: 裸套接字相关
                            -x: unix sock相关
                            -l: linten状态的连接
                            -a: 所有
                            -n: 数字格式
                            -p: 相关的程序及PID
                            -e: 扩展的信息
                            -m: 内存信息
                            -o: 计时器信息
    
                            [FILTER] := [ state TCP-STATE ][ EXPRESSION ]
     常用组合: -atn, -atnl, -atnlp, -uan
    给网卡配置多地址:
            ifconfig
             实例:
                ifconfig eth0:0 192.168.0.22/24
    ip
              实例:
                ip addr add 192.168.0.1/24 dev eth0 label 'eth0:0' 配置文件:        实例:
                 # cd /etc/sysconfig/network-scripts
                 # cp ifcfg-eth0 ifcfg-eth0:0
                 # vim ifcfg-eth0:0  //修改配置文件
                 # service network restart

    三、nmcli命令

    1.  nmcli - command-line tool for controlling NetworkManager

    基本用法:nmcli [ OPTIONS ] OBJECT { COMMAND | help }
                    device - show and manage network interfaces
                    connection - start,stop,and manage network connections
    [root@alen ~]# nmcli device status  //查看网卡连接状态
    DEVICE  TYPE      STATE   CONNECTION 
    ens33   ethernet  连接的  ens33      
    lo      loopback  未托管  --         
    [root@alen ~]# nmcli device show ens33  //查看ens33网络连接相关信息
    GENERAL.DEVICE:                         ens33
    GENERAL.TYPE:                           ethernet
    GENERAL.HWADDR:                         00:0C:29:46:61:4F
    GENERAL.MTU:                            1500
    GENERAL.STATE:                          100 (连接的)
    GENERAL.CONNECTION:                     ens33
    GENERAL.CON-PATH:                       /org/freedesktop/NetworkManager/ActiveCo
    WIRED-PROPERTIES.CARRIER:               开
    IP4.ADDRESS[1]:                         192.168.0.114/24
    IP4.GATEWAY:                            192.168.0.1
    IP4.ROUTE[1]:                           dst = 0.0.0.0/0, nh = 192.168.0.1, mt = 
    IP4.ROUTE[2]:                           dst = 192.168.0.0/24, nh = 0.0.0.0, mt =
    IP4.DNS[1]:                             192.168.0.1
    IP4.DOMAIN[1]:                          www.tendawifi.com
    IP6.ADDRESS[1]:                         fe80::c547:7f8e:8399:2a8e/64
    IP6.GATEWAY:                            --
    IP6.ROUTE[1]:                           dst = ff00::/8, nh = ::, mt = 256, table
    IP6.ROUTE[2]:                           dst = fe80::/64, nh = ::, mt = 256
    如何修改IP地址等属性:
         # nmcli connection modify IFACE [+|-]setting.property value
               setting.property:
                             ipv4.addresses
                             ipv4.gateway
                             ipv4.dns1
                             ipv4.method
                                 manual
    实例:
       nmcli connection modify ens33 ipv4.addresses 192.168.0.105/24  //修改网卡地址
       nmcli con down ens33;nmcli con up ens33  //需要重新启用网卡,配置的地址才生效   
      
       nmcli con modify ens33 -ipv4.addresses   //移除某个ip地址

       nmcli con modify ens33 +ipv4.dns 192.168.0.1  //增加一个dns

    四、配置文件的修改

    IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE
    路由相关的配置文件: /etc/sysconfig/network-scripts/rout-IFACE  //默认没有这个文件,可以添加,比如route-ens33
    /etc/sysconfig/network-scripts/ifcfg-IFACE:
                DEVICE: 此配置文件应用到的设备:
                HWADDR:  对应的设备的MAC地址
                BOOTPROTO: 激活此设备时使用的地址配置协议,常用的dhcp,static,none,bootp
                NM_CONTROLLED:  NM时NetworkManager的简写:此网卡是否接受NewrokManager控制: Centos6建议为no
                ONBOOT: 在系统引导时是否激活此设备
                TYPE="接口类型: 常见的有Ethernet,Bridge"
                UUID:  设备的唯一标识
    
                IPADDR:  指明IP地址
                NETMASK: 子网掩码
                GATWAY:  默认网关
                DNS1:  第一个DNS服务器指向
                DNS2:  第二个DNS服务器指向
           
           DEFROUTE: 指定默认路由,要给出上面的GATWAY USERCTL: 普通用户是否可激活此设备 PEERDNS: 如果BOOTPROTO的值为dhcp,是否允许dhcp server分配的dns服务器指向信息直接覆盖至 /etc/resolv.conf文件中


    /etc/sysconfig/network-scripts/route-IFACE  //添加路由配置文件
        两种风格:
          1.TARGET via GW

          2.每三行定义一条路由信息
            ADDRESS#=TARGET
            NETMASK#=mask
            GATEWAY#=GW

    配置完,需要重启网络服务,配置文件才生效
      比如: CentOS6:   service network restart或者/etc/rc.d/int.d/network restart
              CentOS7:   systemctl restart network.service      

     

      

  • 相关阅读:
    札记:计算机网络篇:物理层
    vs2012 它已停止工作
    php laravel 帧 该文件上传
    2016第一周日
    2015年第1周六
    2016第1周五优化自己
    2016值得关注的语言平台、JS框架
    JS模块化规范CommonJS,AMD,CMD
    2016第1周二
    ReactJS入门教程
  • 原文地址:https://www.cnblogs.com/ckh2014/p/9589132.html
Copyright © 2011-2022 走看看