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

相关推荐

  • shell脚本之批量添加用户

        没错,这是一个简单的脚本,不写不知道,写了才发现自己多垃圾。     我是一名普通的公司网络管理,接触linux不长,一直理想都是和马哥学习linux,可惜因为拖家带口的原因,没办法交学费和马哥学习,心里小小遗憾吧。每天看着马哥的文章以及百度搜索的视频文章学习,感觉自己学…

    Linux干货 2016-07-07
  • N26-第七周

    1、创建一个10G分区,并格式为ext4文件系统;   (1) 要求其block大小为2048, 预留空间百分比为2, 卷标为MYDATA, 默认挂载属性包含acl;    (2) 挂载至/data/mydata目录,要求挂载时禁止程序自动运行,且不更新文件的访问时间戳; [root@localhost ~]# fdi…

    Linux干货 2017-03-05
  • HAproxy对wordpress的代理

    一,实验环境 网络拓扑结构 Web2,master是centos7.3 Web1,backup是centos6.8 客服端的window主机首win7 所有的主机通过switch相连,处于172.18.0.0/16的网段中 二,安装的软件 使用wordpress版本4.3.1 Web1安装httpd,php,php-mysql Web2安装nfs-utils…

    Linux干货 2017-05-17
  • 马哥教育网络班21期+第6周课程练习

    请详细总结vim编辑器的使用并完成以下练习题1、复制/etc/rc.d/rc.sysinit文件至/tmp目录,将/tmp/rc.sysinit文件中的以至少一个空白字符开头的行的行首加#; %s/^([[:space:]]{1,}.*)/#\1/s 2、复制/boot/grub/grub.conf至/tmp目录中,删除/tmp/grub.conf文件中的行…

    Linux干货 2016-08-10
  • 软件包管理

    软件包管理 在linux中有人多的软件使用,比如我们使用的ifconfig,fdisk,btrfs文件系统等。可能这些软件在你原有的linux系统中并不存在,那么我们如何去使用这些工具呢。我们知道windows在需要软件的时候需要安装,当然对于linux系统一样需要安装。在linux下常用的安装工具我们使用的是rpm程序包(当然我们这边是针对CentOS而言…

    Linux干货 2016-08-19
  • 文件管理命令及变量基础

    文件管理工具:cp,    mv,     rm       cp命令:copy 源文件;目标文件 单源复制: cp [OPTION]….[-T]  SOURCE  DEST 多源复制:cp [OPTION] ….SOURCE…DIR…

    Linux干货 2016-12-21

评论列表(1条)

  • stanley
    stanley 2016-04-05 22:42

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