Linux Network Manager

Linux Network Manager


  • Network简述

  • Switch,Router简述

  • Linux Network 配置方法

  • ifcfg家族命令

  • ip家族命令

  • rhel7 nmcli命令

  • 配置文件

Network简述

Network是什么? 
网络是将分布在地理位置不同的计算机通过物理线路的连接,在网络软件的管理下,实现数据通信的过程。 
Network有什么功能? 
实现数据通信,资源共享,负载均衡。

OSI七层参考模型

osi 
头文件添加

ps 上述两图引用自网络。。。为什么不自己做。。因为我懒。。。。

底层为高层提供服务,并相同层只能认知相同层,数据通过1->7时,自动添加头文件并转换源数据的格式。 
报文->数据包->数据帧->比特流

Switch,Router简述

Switch

二层Switch工作在OSI的第二层,数据通过广播的方式依靠MAC地址传输,能够划分冲突域,并搭建小型的局域网络。

Router

Router工作在OSI的第三层,能够连接不同的两个网络,转发网络封包,自动学习路由表,能够划分广播域。

Linux Network 配置方法

  1. 通过命令配置。 
    ifconfig,route,netstat 
    ip,nmcli,ss

  2. 通过配置文件。 
    /etc/sysconfig/network-scripts/ifcfg-*

  3. DHCP

ifcfg家族命令

ifcfg一系列命令是非常古老的命令,应用于各大发行版。

ifconfig

ifconfig [OPTION] [INTERFACE]:显示网卡信息。

    -v:vorbose 
    -a:all
    -s:short list

ifconfig < INTEFACE > [COMMAND]:设置网卡属性(ip,mask),是否启用。

    [IP/MASK]:设定IP与mask
    [UP|DOWN]:是否启用
    [[-]promisc]:混杂模式

配置立即生效

route

route [OPTION] [COMMAND]:不带参数即显示本机路由信息。

OPTION:
    -[4|6]:指定IP地址类型

COMMAND:
    add [-net|-host] ip/mask <gw> gw_address:添加一个NEW路由,指定目标ip/mask,下一跳地址。
    del [-net|-host] ip/mask <gw> gw_address:删除一个路由信息。
    dev [INTEFACE]:与add等命令搭配使用,强制路由信息与一个IF绑定。

netstat

netstat [OPTION] :显示网络信息。

    -r:显示路由信息。
    -I [device]:显示指定网络接口信息。
    -i:列出所有网络接口信息。
    -t:tcp
    -u:udp
    -n:以数字的形式。
    -a:all
    -l:显示listen状态的套接字信息。
    -e:显示扩展信息。
    -p:显示pid以及进程信息。
    -w:显示原始套接字信息。

IP家族命令

IP命令是比较新的一款网络管理命名,拥有更加强大的功能。

ip命令

ip [OPTIONS] OBJECT [COMMAND [ARGUMENTS]]            PS.之后的子命令格式省略[OPTION]选项

OPTION    
        -s:详细信息。
        -f [Protocol]:指定强制使用的协议种类,默认为inet,any。

ip link [COMMAND]:网络设备设置。

    show:显示所有网络设备信息。
        ip link show [INTEFACE]

    add:创建一个虚拟设备。
        ip link add [COMMAND [ARGUMENTS]]
            [name [NAME]]:指定设备名称。
            [address [MAC_ADDRESS]]:指定MAC地址。
            ...(更加多设置请参考 man ip-link )

    delete :删除一个虚拟设备。
        ip link delete [INTEFACE]

    set:修改设备属性。
        ip link set [INTEFACE] [COMMAND [ARGUMENTS]] type [TYPE|
                       [TYPE]= bridge|can|dummy|ifb|ipoib|macvlan|vcan|veth|vlan|vxlan|ip6tnl|ipip|sit 
            [up|down]:启动/关闭设备。
            [name [NEW_NAME]]:修改设备名称。
            [promisc [on|off]]:混杂模式。
            [arp [on|off]]:    地址解析协议。
            [address [MAC_ADDRESS]]:修改MAC地址。
            [mtu [#]]:修改最大传输单元。
            [txqueuelen [#]]:修改传输队列的长度。
            [multicast [on/off]]:组播。

ip address [COMMAND]:协议地址管理。

    show:显示协议地址。
        ip address show [COMMAND[ARGUMENTS]]
            [dev [INTEFACE]]:查看指定设备名称的信息。
            [up]:查看运行的设备。
            [primary|secondary]:only list primary|secondary addresses。
            ...

    add:创建一个新的协议地址。
        ip address add <IP_address> <dev [DEV_NAME]> [COMMAND[ARGUMENTS]]
            [scope [global|site|link|host]]:指定作用域,global全局,site本地站点,link当前设备,host当前主机。

    del:删除一个协议地址。
        ip address del <IP_address> <dev [DEV_NAME]>

    flush:清除协议地址。
        ip address flush [dev [DEV_NAME]] [scope [SCOPE-ID]]

ip route [COMMAND]:路由管理。

    list:列出route信息。
        ip route list

    add:创建一个路由信息。
        ip route add <target_ip> via <next_jump_address> dev [DEV]
            [dev [DEV]]:绑定网络接口,即所有到此地址的包,都要从此网卡经过。

    del:删除一个路由信息。
        ip route del <target_ip>

ss命令:显示网络状态信息

ss [OPTION]

    -t:tcp
    -u:udp
    -n:numble
    -a:all
    -l:listen
    -e:扩展
    -4:ipv4
    -6:ipv6
    -w:原始套接字

RHEL7 nmcli命令

nmcli [OPTIONS] OBJECT [COMMAND]

nmcli general [COMMAND]:常规NM状态。

    status   显示状态
    hostname  显示主机名

nmcli networking [COMMAND]:设置网络状态。

    [off|no]

nmcli radio [COMMAND]:显示和设置交换广播状态[wifi]。

    all  显示所有。
    wifi [on|off]
    wwan [on|off]
    wimax [on|off]

nmcli connection [COMMAND]:开始,停止和管理网络连接。

    show [INTERFACE]
    [INTEFACE] [DOWN|UP] :开启/关闭网络接口
    delete [INTEFACE] 
    add setting  属性值 ...
    modify [INTEFACE] [+|-]setting  属性值 ...

    setting:
        ipv4.dns
        ipv4.gateway
        ...

nmcli device [COMMAND]:显示和管理网络接口。

    status:状态信息。
    show [INTERFACE]:详细信息。
    connect [INTERFACE]:激活网络接口。
    disconnect [INTERFACE]:关闭网络接口。
    delete [INTERFACE]:删除。
    wifi [list [ifname <ifname>] [bssid <BSSID>]]
      wifi connect <(B)SSID> [password <password>] [wep-key-type key|phrase] [ifname <ifname>] :连入wifi。
                     [bssid <BSSID>] [name <name>] [private yes|no]
    wifi rescan [[ifname] <ifname>]:重新扫描wifi。

配置文件配置

指定DNS服务器:

/etc/resolv.conf  
    nameserver DNS_Server_IP1  
    nameserver DNS_Server_IP2  
    nameserver DNS_Server_IP3

配置网络接口文件:

/etc/sysconfig/network-scriptes/ifcfg-*    

    [IPADDR]=IP        ip地址。
    [NETMASK]=MASK        子网掩码。    
    [GETEWAY]=GW        网关。
    [DNS1]=DNS1        dns服务器1
    [DNS2]=DNS2        dns服务器2

    [DEVICE]=DEVICE_NAME    设备名称。
    [ONBOOT]=yes|no    是否在系统引导时激活此设备。
    [BOOTPROTO]=Protocol_TYPE   地址配置协议类型,常用的有DHCP STATIC BOOTP NONE
    [NM_CONTROLLED]=yes|no    是否允许接受Network Manager的管理。
    [TYPE]=INTFACE_TYPE   指定网络接口类型,常用的有Ethernet Bridge
    [UUID]=UUID    

    [USERCTL]=yes|no    是否允许普通用户控制此设备。
    [PEERDNS]=yes|no    如果BOOTPROTO的值为DHCP,是否允许dhcp server分配的dns服务器指向信息直接覆盖/etc/resolv

配置路由文件:

/etc/sysconfig/network-scriptes/route-*
    风格一:
            target_ip  via next_jump
    风格二:
            ADDRESS#=target_ip
            NETMASK$=MASK
            GETEWAY#=NEXT_JUMP

    ps 两种风格在一个配置文件中只能选择一种。

网络接口名称配置文件:

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

接口命名规则:

1.集成设备的索引信息,eno# 
2.主板PCI-E扩展槽信息,ens# 
3.硬件接口物理位置信息,enp#s# 
4.MAC地址,enx# 
5.默认名,eth#

PS RHEL7网络接口的具体命名规则请自行查询。

如果想要将文件名改回eth#,可以将/etc/udev/rules.d/下所有文件都链接到/dev/null
[RHEL7]
    ln -s /dev/null  [/etc/udev/rules.d/FILE_NAME]

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

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:42

    markdown使用不的错,但还欠火候,加油