class17 网络管理(二)

IP 地址

它们可唯一标识IP网络中的每台设备
每台主机(计算机、网络设备、外围设备)必须具有唯一的地址          
IP 地址由两部分组成:
    • 网络ID: 
    • 标识网络
    • 每个网段分配一个网络ID
    • 机 主机 ID: 
    • 标识单个主机
    • 由组织分配给各设备

IPv4 地址格式:点分十进制记法

计算 ip
bc ibase=2  obase=8
             let a=2#100100100
强制扫描网络
ping -f 10.1.250.95 -s 65507  -s: 时间
ping网络特殊用法
let i=2#1010000000011111110011010101 335674561
   
 ping 335674561
防火墙允许ping
一、禁止Ping
  [root@linuxzgf ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all
  二、允许Ping
  [root@linuxzgf ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all
防火墙关闭广播回应
一、禁止回应
  [root@linuxzgf ~]# echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
  二、允许回应
  [root@linuxzgf ~]# echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

IP 地址分类

image

A类:    0NNNNNNN Host  Host   Host    1      8 9 16  17 24  25 32
    Range (1-126)
B类:    10NNNNNN Network  Host   Host    1      8 9    16  17 24  25 32
    Range (128-191)
C类:    110NNNNN Network  Network   Host    1      8 9    16  17   24  25 32
    Range (192-223)
D类:    1110NNNN Multicast Group Multicast    1      8 9            16 17     
    Group   Multicast Group 
        24  25           32
    Range (224-239)

IP 地址分类

128 64 32 16 8 4 2 1
      A 类:0 000 0000 - 0 111 1111: 1-127网络数:126, 127每个网络中的主机数:2^24-2默认子网掩码:255.0.0.0私网地址:10.0.0.0
         B 类:10 00 0000 - 10 11 1111 :128-191网络数:2^14每个网络中的主机数:2^16-2默认子网掩码:255.255.0.0私网地址:172.16.0.0-172.31.0.0C 类:110 0 0000 - 110 1 1111: 192-223网络数:2^21每个网络中的主机数:2^8-2默认子网掩码:255.255.255.0私网地址:192.168.0.0-192.168.255.0
        D 类:组播1110 0000 - 1110 1111: 224-239
       E 类:240-255
公共IP地址
A 1.0.0.0 -9.255.255.255
  11.0.0.0-126.255.255.255B 128.0.0.0-172.15.255.255
  172.32.0.0-191.255.255.255C 192.0.0.0-192.167.255.255
  192.169.0-223.255.255.255
私有IP地址
A 10.0.0.0 到 10.255.255.255B 172.16.0.0 到 172.31.255.255C 192.168.0.0 到 192.168.255.255

特殊地址

0.0.0.0
0.0.0.0 不是一个真正意义上的IP地址。它表示一个集合:所有不清楚的主机和目的网络。
255.255.255.255
限制广播地址。对本机来说,这个地址指本网段内( 同一广播域) 的所有主机
127.0.0.1 ~127.255.255.254
本机回环地址,主要用于测试。在传输介质上永远不应该出现目的地址为“127.0.0.1”的数据包。
224.0.0.0 到239.255.255.255
组播地址,224.0.0.1特指所有主机,224.0.0.2 特指所有路由器。224.0.0.5 指OSPF 路由器,地址多用于一些特定的程序以及多媒体程序
169.254.x.x
如果Windows 主机使用了DHCP 自动分配IP 地址,而又无法从DHCP 服务器获取地址,系统会为主机分配这样地址。

跨网络通信

跨网络通信:路由
路由分类:
    主机路由
    网络路由
    默认路由

网络划分–子网划分、合并超网

子网划分
公式1一个网段的主机数=2^主机位数-2主机ID位数=32-网络ID位数
         
公式2网络ID=IP与子网掩码
                     
公式3划分子网:
一个大网分成若干个小网
网络ID向主机ID借位n,子网数2^n
                 
公式4损失IP=(子网数2^n-1)*2
合并超网
主机位向网络位借位,无损失IP

网络管理(二) 网络命令配置、配置文件配置

====网络命令配置

基本网络配置

将Linux主机接入到网络,需要配置网络相关设置。
一般包括如下内容:
    主机名    IP/mask
    路由:默认网关
    DNS 服务器
        主DNS 服务器
        次DNS 服务器
        第三DNS服务器

网络配置方式

静态指定:
ifconfig 命令
    ifconfig [interface]        # ifconfig -a  显示所有接口
        # ifconfig IFACE [up|down]
    ifconfig interface [aftype] options | address ...        # ifconfig IFACE IP/mask [up]
        # ifconfig IFACE IP netmask MASK
    注意:立即生效;
    启用混杂模式:[-]promisc
    
    管理IPV6地址:
     add addr/prefixlen
     del addr/prefixlen
     
    ifconfig eth1 192.168.10.101/24 up 
    ifconfig eth1 192.168.10.101 netmask 255.255.255.0ifcfg:
    ifconfig--配置IP,NETMASK
    route--路由
    netstat--状态及统计数据查看
ip: object 
     link--地址和掩码
     addr--接口
     route--路由
     ss--状态统计数据
     tc
system-config-network-tui (setup)
配置文件
RedHat及其相关发行版
/etc/sysconfig/network-scripts/ifcfg-NETCARD_NAME  
       
CentOS 7: 新增工具:nmcli, nmtui
nmcll:命令行工具
nmtul:text windows 工具
动态分配:
DHCP: Dynamic Host Configuration Protocol

路由管理命令

查看:route -n
添加:route add
    route add [-net|-host] target [netmask Nm] [gw Gw][[dev] If]
    
目标:192.168.1.3 网关:172.16.0.1
    # route add -host 192.168.1.3 gw 172.16.0.1 dev eth0目标:192.168.0.0  网关:172.16.0.1
    # route add -net 192.168.0.0 netmask 255.255.255.0 gw 172.16.0.1 dev eth0
    # route add -net 192.168.0.0/24 gw 172.16.0.1 dev eth0
        默认路由,网关:172.16.0.1
              
    # route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.16.0.1
    # route add default gw 172.16.0.1
删除:route del
route del [-net|-host] target [gw Gw] [netmask Nm] [[dev] If]
           
目标:192.168.1.3 网关:172.16.0.1
    # route del -host 192.168.1.3目标:192.168.0.0  网关:172.16.0.1
    # route del -net 192.168.0.0 netmask 255.255.255.0
    # route del dafault      ***只可以一条一条删除,不可以指定

配置动态路由

通过守护进程获取动态路由
    • 安装quagga 包,支持多种格式的RIP 、OSPF 和BGP    • 命令vtysh 配置

netstat 命令

netstat - Print network connections, routing tables, interface statistics, masquerade connections, and multicast memberships
显示网络连接:
netstat [--tcp|-t] [--udp|-u] [--raw|-w] [--listening|-l] [--all|-a] [--numeric|-n] [--extend|-e[--extend|-e]] [--program|-p]
        
-t: tcp 协议相关   面向连接;通信开始之前,要建立一个虚链路;通信完成后拆除连接-u: udp 协议相关   无连接;直接发送数据报文-w: raw socket 相关-l:  处于监听状态-a:  所有状态-n:  以数字显示IP和端口;-e :扩展格式-p:  显示相关进程及PID
常用组合:
-tan, -uan, -tnl, -unl
显示路由表:
netstat {--route|-r} [--numeric|-n]
  -r:  显示内核路由表  -n:  数字格式
显示接口统计数据:
netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]# netstat -i  所有接口# netstat -I=IIFACE   指定接口
# netstat -I=eth0# ifconfig -s eno16777736
Iface  MTU Met  RX-OK RX-ERR RX-DRP RX-OVR 
                               丢弃   过载

ip 命令 (iproute2 家族)

配置Linux 网络属性:ip 命令
ip - show / manipulate routing, devices, policy routing and tunnels
        
    ip [ OPTIONS ] OBJECT { COMMAND | help } 
    OBJECT := { link | addr | route }
ip link – network device configuration
ip link help
set dev IFACE
可设置属性:up and down:激活或禁用指定接口
#  ip link set eth1 down
promisc {on|off} :是否支持混杂模式
               
multicaet on/off:启用或禁用多播地址    
name  :重命名  停止网卡,再改名
    
mtu NUMBER :设定MTU的大小,默认尾1500
               netns PID : (centos7**) ns为namespace,用于将接口移动到指定的网络名称空间
      ip netns list  列出所有的netns
      ip netns add name 创建指定的netns
      ip netns del name  删除指定的netns
      ip netns exec name COMMAND  在指定的netns 中运行命令
 
     ifup/ifdown 
     注意:通过配置文件/etc/sysconfig/net-scripts/ifcfg-IFACE来识别并完成配置
show [dev IFACE] :指定接口
[up]:仅显示处于激活状态的接口
ip addr { add | del }IFADDR dev STRING
[label LABEL] :添加地址时指明网卡别名
[scope {global|link|host}] :指明作用域    global:  全局可用;
    link:  仅链接可用;
    host:  本机可用;
[broadcast ADDRESS] :指明广播地址
ip addr add 172.16.100.13/16 dev eth0 label eth0:0ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip address show – look at protocol addresses 仅显示指定接口的地址
[dev DEVICE]
[label PATTERN]
[primary and secondary]
ip address flush – 使用格式同show 清空地址
ip addr flush dev eth0 label eth0:0
ip route – routing table management
添加路由: :ip route add
ip route add TARGET via GW dev IFACE src SOURCE_IP
    TARGET:
        主机路由:IP
        网络路由:NETWORK/MASK
    ip route add 192.168.0.0/24 via 172.16.0.1
    ip route add 192.168.1.13 via 172.16.0.1
    添加网关:ip route add default via GW dev IFACE
    ip route add default via 172.16.0.1
删除路由:ip route delete
ip route del TARGETip route del default  删除默认路由
         
显示路由:ip route show|list
清空路由表:ip route flush [dev IFACE]  [via PREFIX]ip route flush dev eth0

ss 命令

格式:ss [OPTION]… [FILTER]
netstat通过遍历proc来获取socket 信息,ss 使用netlink与内核tcp_diag模块通信获取socket信息。
选项:
-t: tcp 协议相关-u: udp 协议相关-w: raw socket 裸套接字相关-x :unix sock 相关-l: listen 状态的连接-a:  所有-n:  数字格式-p:  相关的程序及PID-e:  扩展的信息-m :内存用量-o :计时器信息-s :列出当前socket详细信息
FILTER := [ state TCP-STATE ] [ EXPRESSION ]
TCP 的常见状态:
    tcp finite state machine:
    LISTEN:  监听
    ESTABLISHED :已建立的连接
    FIN_WAIT_1
    FIN_WAIT_2
    SYN_SENT
    SYN_RECV
    CLOSED
EXPRESSION: 过滤器
dport =
    sport =
    示例:'( dport = :ssh or sport = :ssh )'
常用组合:
-tan, -tanl, -tanlp, -uan
常见用法
ss -l 显示本地打开的所有端口
ss -pl 显示每个进程具体打开的socket
ss -t -a 显示所有tcp socket
ss -u -a 显示所有的UDP Socekt
             
ss -o state established '( dport = :smtp or sport = :smtp )'
显示所有已建立的SMTP连接
ss -o state established '( dport = :http or sport = :http )'
显示所有已建立的HTTP连接
                
ss -x src /tmp/.X11-unix/* 找出所有连接X服务器的进程
ss -s 列出当前socket详细信息:#### CentOS 7网络属性配置

====网络配置文件

IP 、MASK 、GW 、DNS 相关配置文件:
/etc/sysconfig/network-scripts/ifcfg-IFACE
路由相关的配置文件:
/etc/sysconfig/network-scripts/route-IFACE 
 /etc/sysconfig/network-scripts/ifcfg-IFACE: 
 
说明参考/usr/share/doc/initscripts-9.49.30/sysconfig.txt
DEVICE :此配置文件应用到的设备
HWADDR :对应的设备的MAC地址   
MACADDR: 修改设备mac  
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM是 NetworkManage的简写,此网卡是否接受NM控制;建议CentOS6 为“no”
    
ONBOOT :在系统引导时是否激活此设备
TYPE :接口类型;常见有的Ethernet, Bridge
UUID :设备的惟一标识
IPADDR :指明IP 地址
NETMASK :子网掩码GATEWAY:默认网关DOMAIN:DNS搜索域
DNS1 :第一个DNS 服务器指向
DNS2 :第二个DNS 服务器指向NETMASK:子网掩码;centos7 支持使用PREFIX以长度方式指明子网掩码
USERCTL :普通用户是否可控制此设备
PEERDNS :如果BOOTPROTO的值为“dhcp” ,是否允许dhcp server 分配的dns 服务器指向信息直接覆盖至/etc/resolv.conf 文件中
ifcfg-eth0
DEVICE=eth0
IPADDR=10.1.27.100PREFIX=16GATEWAY=10.1.255.255DNS=8.8.8.8
    114.114.114.114
    8.8.4.4
ifcfg-eth0
DEVICE=eth0BOOTPROTO=dhcp

本地解析器

解析器执行正向和逆向查询/etc/hosts
• 本地主机名数据库和IP 地址的映像
• 对小型独立网络有用
• 通常,在使用DNS 前检查
• getent hosts 查看/etc/hosts内容

dns名字解析

/etc/resolv.conf
    nameserver DNS_SERVER_IP1
    nameserver DNS_SERVER_IP2
    nameserver DNS_SERVER_IP3
 /etc/nsswitch.conf      DNS优先级设制
     默认  /etc/hosts 相比优先于DNS
       
正解:FQDN-->IP# dig -t A FQDN# host -t A FQDN反解:IP-->FQDN# dig -x IP# host -t PTR IP

网络配置文件 (路由)

/etc/sysconfig/network-scripts/route-IFACE
                               route-eth1
•  注意:需service network restart生效
•  两种风格:
(1) TARGET via GW  192.168.0.0/24 via 172.16.0.2(2) 每三行定义一条路由
ADDRESS#=TARGETNETMASK#=maskGATEWAY#=GW

网卡别名 (不支持dhcp)

对虚拟主机有用
将多个IP 地址绑定到一个NIC上 
    eth0:1
    eth0:2
    eth0:3   
    ifconfig 命令:
    ifconfig eth0:0 192.168.1.100/24 up
ip 命令:
    ip addr add 172.16.1.2/16 dev eth0
    ip addr add 172.16.1.1/16 dev eth0 label eth0:0
    ip addr del 172.16.1.1/16 dev eth0 label eth0:0
    ip addr flush dev eth0 label eth0:0
指定静态IP同时开启dhcp
eth0:1
DEVIC=eth0BOOTPROTO=dhcp
eth0:2
DEVICE=eth0:2IPADDR=10.1.27.101PREFIX=16GATEWAY=10.1.255.255DNS=8.8.8.8
eth0:3
DEVICE=eth0:3IPADDR=10.1.27.102PREFIX=16GATEWAY=10.1.255.255DNS=8.8.8.8

设备别名

为每个设备别名生成独立的接口配置文件
• 关闭NetworkManager 服务
• ifcfg-ethX:xxx
• 必须使用静态联网
    DEVICE=eth0:0
    IPADDR=10.10.10.10
    NETMASK=255.0.0.0
    ONPARENT=yes
注意:service network restart  生效
参考/usr/share/doc/initscripts-*/sysconfig.txt

网络配置

Linux 网络属性配置的tui(text user interface):
    system-config-network-tui
    setup
    注意:记得重启网络服务方能生效
配置当前主机的主机名:
    hostname [HOSTNAME]
    /etc/sysconfig/network         HOSTNAME=

网卡名称

网络接口识别并命名相关的udev 配置文件: /etc/udev/rules.d/70-persistent-net.rules
 
卸载网卡驱动:
modprobe -r e1000
装载网卡驱动:
modprobe e1000

网络接口配置-bonding

• Bonding就是将多块网卡绑定同一IP地址对外提供服务,可以实现高可用或者负载均衡。当然,直接给两块网卡设置同一IP 地址是不可能的。通过bonding,虚拟一块网卡对外提供连接,物理网卡的被修改为相同的MAC 地址。

Bonding 的工作模式

• Mode 0 (balance-rr)
轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力
• Mode 1 (active-backup)
活动-备份(主备)策略:在绑定中,只有一个slave被激活。当且仅当活动的slave 接口失败时才会激活其他slave 。为了避免交换机发生混乱此时绑定的MAC 地址只有一个外部端口上可见
• Mode 3 (broadcast)
广播策略:在所有的slave接口上传送所有的报文。本模式提供容错能力。
Bonding 配置
创建bonding 设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0  DEVICE=bond0  BOOTPROTO=none  BONDING_OPTS= “miimon=100 mode=0”
/etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0BOOTPROTO=noneMASTER=bond0SLAVE=yesUSERCTL=no
          
查看bond0 状态:/proc/net/bonding/bond0
        
miimon是用来进行链路监测的。如果miimon=100 ,那么系统每100ms 监测一次链路连接状态,如果有一条线路不通就转入另一条线路
删除bond0
ifconfig bond0 downrmmod bonding          •  关于bonding 的详细配置请参照
/usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
网络服务配置完成启用
Network
    NetworkManager
    管理网络服务
    CentOS6: service SERVICE {start|stop|restart|status}    CentOS7:systemctl SERVICE {start|stop|restart|status}
    配置文件修改之后,如果要修改,需要重启网络服务;
    CentOS6: #service network restart
    CentOS7:#systemctl network restart
centos6 下次系统启动禁止NetworkManager服务启动
chkconfig NetworkManager off
centos6禁止NetworkManager服务
service  NetworkManager stop

路由实验

image

R1 TABLE
GATEWAY 主机和路由器直连,网关地址为接口IP,否则为下一跳路由器的临近接口IP。                     
192.168.27.0/24  0  192.168.27.1 10.1.27.0/8      1  10.1.27.2172.27.0.0/16    1  10.1.27.2
               route add -net  172.27.0.0/16  gw 10.1.27.2 dev eth1
R2 TABLE
192.168.27.0/24 1  10.1.27.1/810.1.27.0/8     1  10.1.27.2172.27.0.0/16   0  172.27.0.1
               route add -net  192.168.27.0/24  gw 10.1.27.1 dev eth1
启动路由转换功能
echo 1 > /proc/sys/net/ipv4/ip_forward
清除防火墙
iptables -F 
         -vnl   查看防火墙记录
配置两台主机
DEVICE=eno16777736
IPADDR=192.168.27.100PREFIX=24 GATEWAY=192.168.27.1
              DEVICE=eno16777736
IPADDR=172.27.0.100PREFIX=16GATEWAY=172.27.0.1
实验结果
TTL每经过一跳时,会减一。

imageimage imageimage image

虚拟网卡实现一个网卡多个地址实验

网卡配置
ifcfg-eth0   
1 DEVICE=eth02 IPADDR=192.168.27.13 PREFIX=24
           ifcfg-eth0:11 DEVICE=eth0:12 IPADDR=192.168.27.23 PREFIX=24
  ifcfg-eth0:21 DEVICE=eth0:22 IPADDR=192.168.27.33 PREFIX=24
[root@lvasu network-scripts]# service network restart
实验结果
实现一个网卡多IP的绑定

image

多网卡bond,mode1

网卡配置
ifcfg-bond01 DEVICE=bond02 IPADDR=10.1.27.1003 PREFIX=164 GATEWAY=10.1.0.15 DNS=8.8.8.86 BONDING_OPTS="miimon=100 mode=1"
            ifcfg-eth01 DEVICE=eth02 SLAVE=yes3 MASTER=bond0
         
ifcfg-eth11 DEVICE=eth12 SLAVE=yes3 MASTER=bond0
实验结果
1、验证网络可以连通

image
image

2、验证BOND1是否有效

image

网络管理(三) 网卡名称、主机名称、nmcli命令、team组、网络工具

网卡名称

rhel6之前,网络接口使用连续号码命名:eth0 、eth1 等, 当增加或删除网卡时,名称可能会发生变化。
rhel7 使用基于硬件,设备拓扑和设置类型 命名:(1)  网卡命名机制systemd 对网络设备的命名方式(a)  如果Firmware 或BIOS为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1(b)  如果Firmware 或BIOS 为PCI-E扩展槽所提供的索引信息
可用,且可预测,则根据此索引进行命名,例如ens1(c) 如果硬件接口的物理位置信息可用,则根据此信息进行命
名,例如enp2s0(d)  如果用户显式启动,也可根据MAC 地址进行命名,
enx2387a1dc56;(e)  上述均不可用时,则使用传统命名机制
接口命名方式:
CentOS 6:
    以太网:eth[0,1,2,...]
    ppp :ppp[0,1,2,...]  Fireware拓扑结构    
      
(1)如果Fireware或BIOS为主板上集成的设备提供的索引信息可用,则根据此索引进行命名,如eno1,eno2
(2)如果Fireware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此缩印进行命名,如ens1,ens2
(3)如果硬件接口的物理信息可用,则根据此信息命名,如enp2s0
(4)若果用户显式定义,也可以根据MAC地址命名,例如enx122161ab2e10
        
命名格式的组成:en:ethernetwl:wlanww:wwan
   名称类型:
    o<index>:集成设备的索引号
    s<solt>:扩展槽的索引号
    x<MAC>:基于MAC地址的命名
    p<bus>s<slot>:基于总线及槽的拓扑结构进行命名


基于BIOS支持biosdevname中内置网卡:em1,em2
pci 卡:pYpX Y :slot ,X:port
(2)  名称组成格式    en: Ethernet  有线局域网    wl: wlan  无线局域网    ww: wwan 无线广域网
名称类型:
    o<index>:  集成设备的设备索引号
    s<slot>:  扩展槽的索引号
    x<MAC>:  基于MAC 地址的命名
    p<bus>s<slot>: enp2s1
        
网卡设备的命名过程:
第一步:
udev,  辅助工具程序/lib/udev/rename_device,/usr/lib/udev/rules.d/60-net.rules第二步:
biosdevname  会根据/usr/lib/udev/rules.d/71-biosdevname.rules
第三步:
通过检测网络接口设备,根据
/usr/lib/udev/rules.d/75-net-description
    ID_NET_NAME_ONBOARD
    ID_NET_NAME_SLOT
    ID_NET_NAME_PATH

采用传统命名方式

使用传统命名方式:
(1)  编辑/etc/default/grub 配置文件
GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0"或:修改/boot/grub2/grub.cfg
(2)  为grub2 生成其配置文件
grub2-mkconfig -o /etc/grub2.cfg
(3)  重启系统
本地主机名配置
hostname:
   查看:hostname
   配置:hostname HOSTNAME
         当前系统有效,重启后无效
         
hostnamectl (CentOS7)
   hostnamectl status:显示当前主机名信息
   hostnamectl set-hosatname:设定主机名,永久有效
  
  配置文件:/etc/sysconfig/network
  HOSTNAME=<HOSTNAME>            /etc/hosts        127.0.0.1   lvasu

nmcli 命令

地址配置工具:nmcli
nmcli [ OPTIONS ] OBJECT { COMMAND | help }
device - show and manage network interfaces
    nmcli device help
    connection - start, stop, and manage network connections
    nmcli connection help
修改IP 地址等属性:
#nmcli connection modify IFACE [+|-]setting.property valuesetting.property:
ipv4.addresses ipv4.gateway
ipv4.dns1 ipv4.method manual | dhcp
修改配置文件执行生效:systemctl restart network
nmcli con reload
nmcli 命令生效: nmcli con down eth0 ;nmcli con up eth0

相关工具

网络接口配置tui 工具:nmtui
主机名称配置工具:hostnamectl
statusset-hostname

使用nmcli 配置网络

NeworkManager是管理和监控网络设置的守护进程
设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效。
显示所有包括不活动连接
nmcli con show
显示所有活动连接
nmcli con show –active
显示网络连接配置
nmcli con show "System eth0“
显示设备状态
nmcli dev status
显示网络接口属性
nmcli dev show eno16777736
创建新连接default,IP自动通过dhcp 获取
nmcli con add con-name default type Ethernet ifname eth0
删除连接
nmcli con del default
创建新连接static ,指定静态IP ,不自动连接
nmcti con add con-name static ifname eth0 autoconnect no type Ethernet ip4 172.25.X.10/24 gw4 172.25.X.254
启用static 连接配置
nmcli con up static
启用default 连接配置
nmcli con up default
查看帮助
nmcli con add help
修改连接设置
nmcli con mod “static” connection.autoconnect no
nmcli con mod “static” ipv4.dns 172.25.X.254nmcli con mod “static” +ipv4.dns 8.8.8.8nmcli con mod “static” -ipv4.dns 8.8.8.8nmcli con mod “static” ipv4.addresses “172.25.X.10/24172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16
                       # nmcli con mod 系统\ eth0 +ipv4.addresses 10.1.27.200

网络配置文件

设备配置被保存在文本文件中
• /etc/sysconfig/network-scripts/ifcfg-<name>
• 帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt

image

image

动态配置
DEVICE=ethXHWADDR=0:02:8A:A6:30:45BOOTPROTO=dhcpONBOOT=yesType=Ethernet
静态配置
DEVICE=ethX 
HWADDR=0:02:8A:A6:30:45IPADDR=192.168.0.123NETMASK=255.255.255.0GATEWAY=192.168.0.254ONBOOT=yes
Type=Ethernet
修改连接配置后,需要重新加载配置
nmcli con reload
nmcli con down “system eth0”  可被自动激活
nmcli con up “system eth0”
nmcli dev dis eth0  禁用网卡,访止被自动激活
图形工具
nm-connection-editor

网络组Network Teaming

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量
网络组不同于旧版中bonding技术,提供更好的性能和扩展性网络组由内核驱动和teamd 守护进程实现.
多种方式runner
broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
创建网络组接口
nmcli con add type team con-name CNAME ifname
INAME [config JSON]
    CNAME  连接名,INAME  接口名
    JSON  指定runner 方式
    格式:'{"runner": {"name": "METHOD"}}'
    METHOD  可以是broadcast, roundrobin,        activebackup, loadbalance, lacp.
创建网络组接口实例
# nmcli con add type team con-name team0 ifname team0 config ‘{"runner": {"name": "loadbalance"}}'# nmcli con mod team0 ipv4.addresses 192.168.1.100/24# nmcli con mod team0 ipv4.method manual
创建port 接口
nmcli con add type team-slave con-name CNAME
ifname INAME master TEAMCNAME  连接名,
INAME  网络接口名,
TEAM  网络组接口名.
         
连接名若不指定,默认为team-slave-IFACE .
nmcli dev dis INAME
nmcli con up CNAME
    INAME 名 设备名 CNAME  网络组接口名或port 接口
网络组实例
# nmcli con add type team-slave ifname eth1 master team0# nmcli con add type team-slave ifname eth2 master team0 con-name team0-eth2# nmcli con up team0# nmcli dev dis eth2# teamdctl team0 state
实验: 创建网络组
#ip link# nmcli con add type team con-name team0 ifname team0 config '{"runner": {"name": "activebackup"}}'# nmcli con mod team0 ipv4.addresses '192.168.0.100/24'# nmcli con mod team0 ipv4.method manual# nmcli con add type team-slave con-name team0-port1 ifname eno1 master team0# nmcli con add type team-slave con-name team0-port2 ifname eno2 master team0# teamdctl team0 state#ping -I team0 192.168.0.254# nmcli dev dis eno1# teamdctl team0 state# nmcli con up team0-port1# nmcli dev dis eno2# teamdctl team0 state# nmcli con up team0-port2# teamdctl team0 state
管理网络组配置文件
# /etc/sysconfig/network-scripts/ifcfg-team0DEVICE=team0DEVICETYPE=TeamTEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"BOOTPROTO=noneIPADDR0=172.25.5.100PREFIX0=24NAME=team0ONBOOT=yes# /etc/sysconfig/network-scripts/ifcfg-team0-eth1DEVICE=eth1DEVICETYPE=TeamPortTEAM_MASTER=team0NAME=team0-eth1ONBOOT=yes
使用nmcli 配置主机名
rhel6之前主机名配置文件:/etc/sysconfig/network
rhel7.0主机名配置文件:/etc/hostname  ,默认没有这个文件, 通过DNS 反向解析获取主机名, 主机名 默认为 :localhost.localdomain
显示主机名信息
hostname
    hostnamectl status
创建并修改文件并生
hostnamectl set-hostname desktopX.example.com
    删除文件,恢复主机名localhost.localdomainDNS 设置,存放在/etc/resolv.conf 文件中
PEERDNS=no 表示当IP 通过dhcp 自动获取时,dns仍是手动设置,不自动获取。等价于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes
测试网络
在命令行下测试网络的连通性
显示主机名
    hostname
    测试网络连通性
    ping
    mtr
显示正确的路由表    ip route
确定名称服务器使用:
nslookup
    host
    dig
跟踪路由
• traceroute
• Tracepath
网络客户端工具
lftp, ftp, lftpget, wget     
# lftp [-p port] [-uuser[,password]] SERVER子命令:get、 、 mget 、ls 、help# lftpget URL# ftp# wgetwget [option]... [URL]...
    -q:  静默模式
    -c:  断点续传
    -O:  保存位置
    --limit-rates=:  指定传输速率

积累应用

1、某公司申请到一个C 类IP 地址,但要连接6 个的子公司,最大的一个子公司有26 台计算机,每个子公司在一个网段中,则子网掩码应设为?

192.168.1.1/27.254

2、一家集团公司有12家子公司,每家子公司又有4个部门。上级给出一个172.16.0.0/16的网段,让给每家子公司以及子公司的部门分配网段。

(1)直接划分成48个子网
172.16.0.1/22--17.16.3.254/22
172.16.188.1/22-17.16.191.254/22
(2)先划分12个子网
172.16.0.1/20--17.16.15.254/20
172.16.176.1/20--17.16.191.254/20
  每个子网在划分4个子网
172.16.0.1/22--17.16.7.254/22
172.16.8.1/22--17.16.15.254/22

3、某集团公司给下属子公司甲分配了一段IP地址192.168.5.0/24,现在甲公司有两层办公楼(1楼和2楼),统一从1楼的路由器上公网。1楼有100台电脑联网,2楼有53台电脑联网。如果你是该公司的网管,你该怎么去规划这个IP?

192.168.5.0.1-192.168.127.254
192,168.133.1-192.168.255.254
每个子网IP数=2^7=128

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

评论列表(1条)

  • 马哥教育
    马哥教育 2016-09-10 11:28

    理论与时间相结合,有着自己的独立思考,赞一个。注意标题部分,不规范,要进行修改。

联系我们

400-080-6560

在线咨询:点击这里给我发消息

邮件:1660809109@qq.com

工作时间:周一至周五,9:30-18:30,节假日同时也值班