码迷,mamicode.com
首页 > 系统相关 > 详细

Linux 网络管理介绍

时间:2018-04-30 23:26:41      阅读:249      评论:0      收藏:0      [点我收藏+]

标签:linux ifconfig ss ip

  • centos6传统命名规则:
    • 以太网:ethX, [0,oo),例如eth0, eth1, .....数字默认从0开始,1表示第二块网卡
    • PPP网络:pppX, [0,...], 例如,ppp0, ppp1, ...
  • centos7可预测命名:
    1. 如果Firmware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1, eno2, ...
    2. 如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,如ens1, ens2, ...
    3. 如果硬件接口的物理位置信息可用,则根据此信息命名,如enp2s0, ...
    4. 如果用户显式定义,也可根据MAC地址命名,例如enx122161ab2e10, ...
      • 命名格式的组成:
      • en:ethernet 以太网
      • wl:wlan 无线局域网
      • ww:wwan 无线广域网
      • 名称类型:
      • o:集成设备的设备索引号;
      • s:扩展槽的索引号;
      • x s:基于MAC地址的命名;
      • p s:PCI扩展总线;

  • ifconfig系列介绍

    ifconfig是linux中用于显示或配置网络设备(网络接口卡)的命令,英文全称是network interfaces configuring。
    参数说明:

    add<地址> 设置网络设备IPv6的IP地址。
    del<地址> 删除网络设备IPv6的IP地址。
    down 关闭指定的网络设备。
    <hw<网络设备类型><硬件地址> 设置网络设备的类型与硬件地址。
    io_addr<I/O地址> 设置网络设备的I/O地址。
    irq<IRQ地址> 设置网络设备的IRQ。
    media<网络媒介类型> 设置网络设备的媒介类型。
    mem_start<内存地址> 设置网络设备在主内存所占用的起始地址。
    metric<数目> 指定在计算数据包的转送次数时,所要加上的数目。
    mtu<字节> 设置网络设备的MTU。
    netmask<子网掩码> 设置网络设备的子网掩码。
    tunnel<地址> 建立IPv4与IPv6之间的隧道通信地址。
    up 启动指定的网络设备。
    -broadcast<地址> 将要送往指定地址的数据包当成广播数据包来处理。
    -pointopoint<地址> 与指定地址的网络设备建立直接连线,此模式具有保密功能。
    -promisc 关闭或启动指定网络设备的promiscuous模式。
    [IP地址] 指定网络设备的IP地址。
    [网络设备] 指定网络设备的名称。

    1、获取帮助

    [root@localhost ~]# man ifconfig

    2、显示配置信息

    [root@localhost ~]# ifconfig -a
    ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500       
                       开启,支持广播,运行,组播多播,每帧最大1500字节
            inet 192.168.1.102  netmask 255.255.255.0  broadcast 192.168.1.255
                        ip       子网掩码                        广播地址
            inet6 fe80::f1e9:399f:8eb3:d324  prefixlen 64  scopeid 0x20<link>
            ether 00:0c:29:58:d6:d7  txqueuelen 1000  (Ethernet)
                           mac地址       穿出队列长度
            RX packets 247849  bytes 87577060 (83.5 MiB)
            这次网卡激活后接收到的报文数量   大小
            RX errors 0  dropped 0  overruns 0  frame 0
            错误数量      丢包         溢出     
            TX packets 83818  bytes 22088307 (21.0 MiB)
            穿出   包个数            大小
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
            穿出错误        丢包
    
    lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
            inet 127.0.0.1  netmask 255.0.0.0
            inet6 ::1  prefixlen 128  scopeid 0x10<host>
            loop  txqueuelen 1  (Local Loopback)
            RX packets 220  bytes 16382 (15.9 KiB)
            RX errors 0  dropped 0  overruns 0  frame 0
            TX packets 220  bytes 16382 (15.9 KiB)
            TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

    3、配置

    启用

    [root@localhost ~]# ifconfig ens33 192.168.1.103/24 up
    [root@localhost ~]# ifconfig ens34 192.168.1.103 netmask 255.255.255.0  up
    

    停用

    [root@localhost ~]# ifconfig ens33 192.168.1.103/24 down
    [root@localhost ~]# ifconfig ens34 192.168.1.103 netmask 255.255.255.0  down
    
    [root@node1 ~]# ifconfig ens34 0  #删除ip信息

    4、 特性开始关闭 以混杂模式为例

    #开启
    [root@localhost ~]# ifconfig ens33 promisc
    #关闭
    [root@localhost ~]# ifconfig ens33 -promisc
    

    route配置

    1、查看 ?-n ?以数字方式显示,默认会反解路由,显示主机名等 ??

    [root@localhost network-scripts]# route -n
    Kernel IP routing table
    Destination     Gateway         Genmask         Flags       Metric Ref    Use Iface
    0.0.0.0         192.168.1.1     0.0.0.0         UG          100    0        0 ens33
    到达任意地址用192.168.1.1这个网关转发 
    
    192.168.1.0     0.0.0.0         255.255.255.0   U         100    0        0 ens33
    到达192.168.1.0这个段的网络,用ip与255.255.255.0子网掩码做运算   

    参数说明

    Destination:目标网络或者目标主机
    Gateway:网关或者*不设置
    Genmask:Destination的子网掩码,主机用255.255.255.255 ,默认路由0.0.0.0
    Flags:
        U:路由启用
        H:主机路由
        G:用网关
        R:回复动态路由
        D:守护进程或者重定向 动态加载
        M: 守护进程或者重定向 修改
        A:installed by addrconf
        C:缓存
        !:拒绝路由
    Metric:与目标的距离(通常以跳数计算)
    Ref:非内核引用这条路由次数
    Use:路由查询计数
    Iface:发送接口

    2、添加路由

    [root@localhost ~]# route add -net 172.16.86.0/24 gw 192.168.1.101 dev ens33
    [root@localhost ~]# route add -net 0.0.0.0/0  gw 192.168.1.1 dev ens33
    [root@localhost ~]# route add -net default  gw 192.168.1.1 dev ens33

    3、删除 ?centos7 默认网关,无法添加回来,需要重启网络,centos6则可以添加回来

    [root@localhost ~]# route del -net 0.0.0.0/0

    netstat网络状态工具

    常用参数说明

    -a或--all 显示所有连线中的Socket。
    -A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
    -c或--continuous 持续列出网络状态。
    -C或--cache 显示路由器配置的快取信息。
    -e或--extend 显示网络其他相关信息。
    -F或--fib 显示FIB。
    -g或--groups 显示多重广播功能群组组员名单。
    -h或--help 在线帮助。
    -i或--interfaces 显示网络界面信息表单。
    -l或--listening 显示监控中的服务器的Socket。
    -M或--masquerade 显示伪装的网络连线。
    -n或--numeric 直接使用IP地址,而不通过域名服务器。
    -N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
    -o或--timers 显示计时器。
    -p或--programs 显示正在使用Socket的程序识别码和程序名称。
    -r或--route 显示Routing Table。
    -s或--statistice 显示网络工作信息统计表。
    -t或--tcp 显示TCP传输协议的连线状况。
    -u或--udp 显示UDP传输协议的连线状况。
    -v或--verbose 显示指令执行过程。
    -V或--version 显示版本信息。
    -w或--raw 显示RAW传输协议的连线状况。
    -x或--unix 此参数的效果和指定"-A unix"参数相同。
    --ip或--inet 此参数的效果和指定"-A inet"参数相同。

    常用组合

     [root@node1 network-scripts]# netstat -antup
    Active Internet connections (servers and established)
    Proto(协议)  Recv-Q(接收队列)  Send-Q(发送队列)  Local Address(表示本地IP地址)               Foreign Address (远程IP地址)            State(状态)       PID/Program name(进程号/名称)
    tcp              0                               0                           0.0.0.0:22                                                       0.0.0.0:*                                                   LISTEN                 1060/sshd
    

    上述状态说明

    LISTEN:监听
    ESTABLISEHD:建立的连接
    FIN_WAIT_1: 客户端断开
    FIN_WAIT_2:服务端断开
    SYN_SENT:同步发送信号
    SYN_RECV:同步接收信号
    CLOSED:结束


    ip系列网络配置

    link(设备属性管理)

    1、显示设备信息

    [root@node1 ~]# ip link show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
                广播       多播                             队列  先进先出                           队列长度
        link/ether 00:0c:29:58:d6:d7 brd ff:ff:ff:ff:ff:ff

    2、开启关闭【设备|属性】

    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,用于将接口移动到指定的网络名称空间;
    
    [root@node1 ~]# ip link set  dev ens34 up   #down

    命名空间选项

    #命名空间
    [root@node1 ~]# ip netns help
    Usage: ip netns list
           ip netns add NAME
           ip netns set NAME NETNSID
           ip [-all] netns delete [NAME]
           ip netns identify [PID]
           ip netns pids NAME
           ip [-all] netns exec [NAME] cmd ...
           ip netns monitor
           ip netns list-id
    
    #添加命名空间
    [root@node1 ~]# ip netns add mynet
    [root@node1 ~]# ip netns list
    mynet
    
    #把ens34 设备移动到mynet的空间下
    [root@node1 ~]# ip link set ens34 netns mynet
    
    [root@node1 ~]# ip link show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
        link/ether 00:0c:29:58:d6:d7 brd ff:ff:ff:ff:ff:ff
    
    #在mynet空间下查看
    [root@node1 ~]# ip netns exec mynet ip link show
    1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN mode DEFAULT qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    3: ens34: <BROADCAST,MULTICAST> mtu 1500 qdisc noop state DOWN mode DEFAULT qlen 1000
        link/ether 00:0c:29:58:d6:e1 brd ff:ff:ff:ff:ff:ff
    
    #删除命名空间,里面的设备释放到最外层
    [root@node1 ~]# ip netns del mynet
    [root@node1 ~]# ip link show
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT qlen 1
        link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    2: ens33: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
        link/ether 00:0c:29:58:d6:d7 brd ff:ff:ff:ff:ff:ff
    3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT qlen 1000
        link/ether 00:0c:29:58:d6:e1 brd ff:ff:ff:ff:ff:ff

    addr(协议地址管理)

    1、显示

    [root@node1 ~]# ip addr show  #list

    2、添加

    [root@node1 ~]# ifconfig ens34 0
    [root@node1 ~]# ip addr add 172.16.86.131/24 dev ens34
    [root@node1 ~]# ip addr show ens34
    3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:58:d6:e1 brd ff:ff:ff:ff:ff:ff
        inet 172.16.86.131/24 scope global ens34
           valid_lft forever preferred_lft forever
        inet6 fe80::f6c5:56ff:bace:e204/64 scope link
           valid_lft forever preferred_lft forever
    
    #在添加一个
    [root@node1 ~]# ip addr add 172.16.86.132/24 dev ens34
    [root@node1 ~]# ip addr show ens34
    3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:58:d6:e1 brd ff:ff:ff:ff:ff:ff
        inet 172.16.86.131/24 scope global ens34
           valid_lft forever preferred_lft forever
        inet 172.16.86.132/24 scope global secondary ens34
           valid_lft forever preferred_lft forever
        inet6 fe80::f6c5:56ff:bace:e204/64 scope link
           valid_lft forever preferred_lft forever
    
    #以上2个添加用ifconfig显示只能看到第一个  添加label可以让ifconfig也显示
    [root@node1 ~]# ip addr  add 172.16.86.133/24 dev ens34 label ens34:1
    [root@node1 ~]# ifconfig
    ens34:1: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 172.16.86.133  netmask 255.255.255.0  broadcast 0.0.0.0
            ether 00:0c:29:58:d6:e1  txqueuelen 1000  (Ethernet)
    ......

    3、删除

    [root@node1 ~]# ip addr  del  172.16.86.133/24 dev ens34

    4、清空

    [root@node1 ~]# ip addr flush dev ens34
    
    3: ens34: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP qlen 1000
        link/ether 00:0c:29:58:d6:e1 brd ff:ff:ff:ff:ff:ff

    ip route配置

    1、路由添加

    ip route add - add new route
    ip route change - change route
    ip route replace - change or add new one
    
    [root@node1 ~]# ip route add  172.16.86.0/24 via 172.16.86.132 dev ens34
    
    [root@node1 ~]# ip route add  172.16.86.0/24 via 172.16.86.132  dev ens34 src 172.16.86.133
    [root@node1 ~]# ip route list
    172.16.86.0/24 via 172.16.86.132 dev ens34 src 172.16.86.133
    到达172.16.86.0/24这个网段的地址 是由本机ens34上面的172.16.86.133这个网卡出去 下一跳是172.16.86.132
    
    [root@node1 ~]# ip route add  172.16.86.0/24 via 192.168.1.103  dev ens33 src 192.168.1.102

    2、删除

    [root@node1 ~]# ip route delete  172.16.86.0/24
    
    [root@node1 ~]# ip route delete  172.16.86.0/24 dev ens34
    
    #清空
    [root@node1 ~]# ip route flush dev ens34

    3、展示

    [root@node1 ~]# ip route show
    default via 192.168.1.1 dev ens33 proto static metric 100
    default via 172.16.86.2 dev ens34 proto static metric 101
    192.168.1.0/24 dev ens33 proto kernel scope link src 192.168.1.102 metric 100
    
    [root@node1 ~]# ip route get 192.168.1.0/24
    broadcast 192.168.1.0 dev ens33 src 192.168.1.102
        cache <local,brd>

    ss网络状态工具

    参数说明

    -h:显示帮助信息;
    -V:显示指令版本信息;
    -n:不解析服务名称,以数字方式显示;
    -a:显示所有的套接字;
    -l:显示处于监听状态的套接字;
    -o:显示计时器信息;
    -m:显示套接字的内存使用情况;
    -p:显示使用套接字的进程信息;
    -i:显示内部的TCP信息;
    -4:只显示ipv4的套接字;
    -6:只显示ipv6的套接字;
    -t:只显示tcp套接字;
    -u:只显示udp套接字;
    -d:只显示DCCP套接字;
    -w:仅显示RAW套接字;
    -x:仅显示UNIX域套接字。

    相比netstat强大之处,多了条件过滤功能

    [root@node1 network-scripts]# ss   -tuanp    ‘(  dport = :22 or sport = :22  )‘

    以上均属于临时配置
    网卡的配置文件:/etc/sysconfig/network-scripts/ifcfg-ethX。设置ip地址、子网掩码、默认网关等。

    TYPE=Ethernet    #接口类型,常见的有Ethernet, Bridge;
    BOOTPROTO=static   #激活此接口时使用什么协议来配置接口属性,常用的有dhcp、bootp、static、none;
    IPADDR=192.168.1.102 
    DNS1=8.8.8.8     #最多指定3个,防止主机跟dns服务连接不上时候备用
    DNS2=114.114.114.114
    GATEWAY=192.168.1.1  #网关
    NETMASK=255.255.255.0  #子网掩码;CentOS 7支持使用PREFIX以长度方式指明子网掩码; PREFIX=24
    IPV4_FAILURE_FATAL=no
    IPV6INIT=no  #是否初始化IPv6;
    NAME=ens33
    UUID=c17bccf7-ae71-4e7c-8022-5196ebbf771e   #设备唯一码
    DEVICE=ens33    #跟文件名ifcfg-ens33必须保持一致
    ONBOOT=no       #在系统引导过程中,是否激活此接口;

    dns指定配置文件

    [root@node1 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    search localdomain zander.com
    nameserver 172.16.86.2
    nameserver 8.8.8.8
    nameserver 114.114.114.114

    配置附加网络 /etc/sysconfig/network-scripts/ifcfg-ensX:Y

    [root@node1 network-scripts]# cat ifcfg-ens33:0
    TYPE=Ethernet
    PROXY_METHOD=none
    BROWSER_ONLY=no
    BOOTPROTO=static
    IPADDR=192.168.1.106
    NETMASK=255.255.255.0
    NAME=ens33:0
    DEVICE=ens33:0
    ONBOOT=yes
    
    [root@node1 network-scripts]# ifconfig
    ens33:0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
            inet 192.168.1.106  netmask 255.255.255.0  broadcast 192.168.1.255
            ether 00:0c:29:58:d6:d7  txqueuelen 1000  (Ethernet)

    指定路由添加

     [root@node1 network-scripts]# cat /etc/sysconfig/network-scripts/route-ens33
    172.16.86.0/24 via 192.168.1.103 
    # 到达172.16.86.0这个网络段 由dev ens33这个网卡出去  下一跳是192.168.1.103

    以上配置文件修改之后需要手动重启生效

    CentOS 6:# service network restart
    CentOS 7:# systemctl restart network.service

    Linux 网络管理介绍

    标签:linux ifconfig ss ip

    原文地址:http://blog.51cto.com/marvin89/2109338

    (0)
    (0)
       
    举报
    评论 一句话评论(0
    登录后才能评论!
    © 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
    迷上了代码!