配置Linux网络属性:ip命令

 

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

  link OBJECT:

ip link  -  network device configuration
      set
        dev IFACE

        可设置属性:

 

up and down:激活或禁用指定接口;
      show
        [dev IFACE]:指定接口
        [up]:仅显示处理激活状态的接口
    ip address  -  protocol address management
      ip addr { add | del } IFADDR dev STRING
        [label Label]:添加地址时指明网卡别名
        [ scope { global | link | host } ]:指明作用域
          global:全局可用;
          link:仅链接可用;
          host:本机
        [broadcast ADDRESS]:指明广播地址

   

ip addr show  -  look at protocol address
        [dev DEVICE]
        [label PATTERN]
        [primary and secondary]
      ip addr flush  -  flush protocol address

        使用格式同show

    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 default via GW dev IFACE

      ip route delete

        删除路由:ip route del TARGET

 

ip route show
      ip route flush
        [dev IFACE]
        [via PREFIX]

  

  ss命令:

    格式:ss [options]... [ FILTER ]

      选项:

        -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 = 
        示例:‘(deport = :ssh or sport = :ssh)’

    常用组合:

   

-tan,-tanl,-tanlp,uan

 

Linux网络属性配置(3):修改配置文件

  IP、MASK、GW、DNS相关配置文件:/etc/sysconfig/network-scripts/ifcfg-IFACE

  路由相关的配置文件:/etc/sysconfig/network-scripts/route-IFACE  # 此文件默认是不存在的

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

    DEVICE:此配置文件应用到的设备;

    HWADDR:对应的设备的MAC地址;

    BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp,static,none,bootp;

    NM_CONTROLLED:NM是networkManager的简写:此网卡是否接受NM控制:Centos6建议为"no"

    ONBOOT:在系统引导时是否激活此设备;

    TYPE:接口类型;常见的有Ethernet,Bridge

    UUID:设备的惟一标识;

    IPADDR:指明IP地址;

    NETMASK:子网掩码;

    GATEWAY:默认网关;

    DNS1:第一个DNS服务器指向;

    DNS2:第二个DNS服务器指向;

    USERCTL:普通用户是否可控制此设备;

    PEERDNS:如果BOOTPROTO的值为"dhcp",是否允许dhcp server分配 的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中;

  

  /etc/sysconfig/network-scripts/route-FIACE

    两种风格:

      (1) TARGET via GW

      (2) 每三行定义一条路由

     

ADDRESS#=TARGET
        NETMASK#=mask
        GATEWAY#=GW

 

给网卡配置多地址:

  ifconfig:

    ifconfig IFACE_ALIAS

  ip

    ip addr add 

  配置文件:

    ifcfg-IFACE_ALIAS

      DEVICE=IFCACE_ALIAS

  注意:网关别名不能使用dhcp协议引导;

 

Linux网络属性配置的tui(text user interface):

  system-config-network-tui

  也可以使用setup找到;

  注意:记得重启网络服务方能生效;

 

配置当前主机的主机名:

hostname [HOSTNAME]
  /etc/sysconfig/network
  HOSTNAME=

 

如果什么都配置好了,但是还是上不了网,有可能是/etc/sysconfig/network的网络功能没开。

此功能未开的话,执行service network restart命令是没有反应的。

 

网络接口识别并命名相关的udev配置文件:

  /etc/udev/rules.d/70-persistent-net.rules

  卸载网卡驱动:

    modprobe  -r  e1000

  装载网卡驱动:

    modprobe e1000

 

Centos 7网络属性配置

  传统命名:以太网eth[0,1,2,....],wlan[0,1,2,....]

  可预测功能

    udev支持多种不同的命令方案:

      Firmware,拓扑结构

  (1) 网卡命名机制

    systemd对网络设备的命令方式:

      (a) 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,且可预测根据此索引进行命令,例如eno1;

      (b) 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1;

      (c) 如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0;

      (d) 如果用户显示启动,也可根据MAC地址进行命名,enx2387a1dc56;

        (e) 上述均不可用时,则使用传统命名机制;

      上述命名机制中,有的需要biosdevname程序的参与;

  (2) 名称组成格式 

    en:ethernet

    wl:wlan

    ww:wwan

    名称类型:

      o<index>:集成设备的设备索引号;onboard

      s<slot>:扩展槽的索引号;

      x<MAC>:基于MAC地址的命名;

      p<bus>s<slot>:enp2s1;pci

  网卡设备的命名过程:

    第一步:

      udev,辅助工具程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules

    第二步:

      biosdevname 根据/usr/lib/udev/rules.d/71-biosdevname.rules

    第三步:

      通过检测网络接口设备,根据/usr/lib/udev/rules.d/75-net-description

        ID_NET_NAME_ONBOARD,ID_NET_NAME_SLOT,ID_NET_NAME-PATH

  回归传递命名方式:

    (1) 编辑/etc/default/grub配置文件

      GRUB_CMDLINE_LINUX="net.ifnames=0 rhgb quiet"

    (2) 为grub2生成其配置文件

      grub2-mkconfig -o /etc/grub2.cfg

    (3) 重启系统

  地址配置工具:nmcli

    nmcli  [ OPTIONS ] OBJECT { COMMAND | help }  这一个工具Centos6和7上的介绍不一样。

      

    如何修改IP地址等属性:

nmcli connection modify IFACE [+|-]setting.property value
        setting.property:
          ipv4.addresses
          ipv4.gateway
          ipv4.dns1
          ipv4.method
            manual

  网络接口配置tui工具:nmtui

  主机名称配置工具:hostnamectl

    status

    set-hostname

 

博客作业:上述所有内容;

  ifcfg,ip/ss,配置文件,nmcli

参考资料:http://www.redhat.com/hdocs

课外作业:nmap,ncat,tcpdump工具

 

网络客户端工具:

lftp,ftp,lftpget,wget
    # lftp [-p port]  [-u user[,password]] SERVER
      子命令:
        get
        mget
        ls
        help
    # lftpget URL
    # ftp
    # wget
      wget [option]...[URL]...
        -q:静默模式
        -c:续传
        -O:保存位置
        --limit-rates=: 指定传输速率