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

(2)
Net18_肖肖Net18_肖肖
上一篇 2016-04-05 22:40
下一篇 2016-04-05 22:43

相关推荐

  • 文件查找

    文件查找 简介:在文件系统上查找符合条件的文件,就是文件查找。 文件查找命令:locate, find            非实时查找(数据库查找):locate        &nbsp…

    Linux干货 2016-08-18
  • N25第一周博客作业

    本周加班很多,视频未看完,下周补上

    Linux干货 2016-12-04
  • 正则表达式以及Linux文本搜索工具grep

    一正则表达式 regual Expression  简称REGEXP 定义:由一类特殊字符以及文本字所编写的模式,其中有些字符不表示其字面意义,而用于统配和统配功能 分类:     基本正则表达式:BRE 贪婪模式(尽可能长地去匹配符合模式的内容     扩展表达式:E…

    Linux干货 2016-08-07
  • 自制一个简易linux

    虚拟机添加一块新的硬盘(大小自定义) 在磁盘上创建一个基本分区作为/boot分区(大小200M足够) 再创建一个基本分区作为基本根分区(这里我指定给了5G大小) 然后给分区创建文件系统(注;swap分区要使用mkswap命令) ]# mkdir /mnt/boot 创建挂载点(因为grub只识别/boot目录,所以要创建boot目录) ]# mount /d…

    Linux干货 2016-09-21
  • Linux的终端类型

    一、了解终端   在早期的年代,主机不是很多,都是一系列的大型主机,简单来说就是用户很多,但主机很少,不可能做到人手一台,但可以在主机上连接一个分屏器,在分屏器上可以连接鼠标键盘以及显示器,这些东西是没有计算能力的,仅仅担任输入和输出的工作,运算和处理都是由主机来完成的。   简单来说终端是用户与主机交互,是必然用到的…

    Linux干货 2016-10-14
  • 浅谈编译kernel+busybox构建拥有远程ssh登录和web功能最小linux系统(二)

    忘了介绍本文的源码的版本了 dropbear-2013.58.tar.bz2    busybox-1.21.1.tar.bz2 linux-3.13.6.tar.xz  nginx-1.4.7 基于上文,我们还差group文件没有写 root@mysql etc]# vi group  …

    Linux干货 2015-09-22

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:42

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