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

相关推荐

  • 文本编辑秘籍之vim宝典

    一、初识Vim Vim是从 vi 发展出来的一个文本编辑器。其功能非常强大,熟练掌握vim的常用操作和快捷操作能让我们从繁杂的文本处理任务中杀出血路,在运维的道路上愉快前行。 vim使用简单命令组合来完成复杂操作,同时也支持基本正则表达式。 二、拨开vim迷雾: 2.1 使用vim打开一个文件: 如果该文件存在,文件被打开并显示内容;如果该文件不存在,当编辑…

    Linux干货 2016-08-10
  • MBR分区和GPT分区详解

    什么是磁盘分区?               磁盘分区是使用分区编辑器(partition editor)在磁盘上划分几个逻辑部分,盘片一旦划分成数个分区(Partition),不同类的目录与文件可以存储进不同的分区。越多分区,也就有更多不同的地方,可以将文件的性质区分得更细,按…

    Linux干货 2016-08-29
  • 数据结构-线性表

    1. 线性表:n个数据元素的有序集合。 线性表是一种常用的数据结构。在实际应用中,线性表都是以栈、队列、字符串、数组等特殊线性表的形式来使用的。由于这些特殊线性表都具有各自的特性,因此,掌握这些特殊线性表的特性,对于数据运算的可靠性和提高操作效率都是至关重要的。  线性表是一个线性结构,它是一个含有n≥0个结点的有限序列,对于其中的结点,有且仅有一个开始结点…

    Linux干货 2015-04-07
  • 正则表达式grep,sed

    HTTP 一个简单的网页文件 service iptables stop echo “<h1>I  LOVE YOU</h1>” > /var/www/html/index.html 文本排序sort sort 1.txt   排序规则先数字后字母,小写字母在前。 sort -t “:&#82…

    Linux干货 2018-03-13
  • 千里眼–用NFS和Samba实现共享网页文件

     目的:使用网络文件系实现LAMP的分步式资源共享 配置过程– 搭建nfs服务器:(centos 6.8) 安装yum install mysql-server nfs-utils httpd #这里安装httpd是为了方便后面共享文件的属主属组定义 启动nfs服务 #service nfs start  mkdir /dat…

    2017-04-30
  • Linux基础-第三周

    1、列出当前系统上所有已经登录的用户的用户名,注意:同一个用户登录多次,则只显示一次即可。 2、取出最后登录到当前系统的用户的相关信息。 3、取出当前系统上被用户当作其默认shell的最多的那个shell。 4、将/etc/passwd中的第三个字段数值最大的后10个用户的信息全部改为大写后保存至/tmp/maxusers.txt文件中。 5、取出当前主机的…

    2018-03-19

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:42

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