网络配置

  • 网卡配置文件:
TYPE=Ethernet
ONBOOT=yes
DEVICE=
HWADDR=
UUID=
BOOTPROTO=none  
IPADDR=
PREFIX= 或 NETMASK= 
GATEWAY=
DNS1=
DNS2=
  • 网卡最文件简配置:
DEVICE=eth0
IPADDR=10.0.0.100
PREFIX=24
GATEWAY=10.0.0.1
  • 网络配置一般包括如下内容:
主机名
IP/netmask
路由:默认网关
DNS 服务器
    主DNS服务器
    次DNS服务器
    第三DNS服务器
  • 网络配置方式:
静态指定:
    ifcfg: ifconfig, route, netstat
    ip: object {link, addr, route}, ss, tc
    system-config-network-tui (setup)
配置文件
    CentOS 7: 网络配置工具
        nmcli, nmtui, nm-connection-editor
动态分配:
    DHCP: Dynamic Host Configuration Protocol
  • CentOS 6网卡名称
  • 网络接口识别并命名相关的udev 配置文件:

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

  • 查看网卡:

    dmesg查看内存中存储的开机信息
    dmesg |grep –i eth 查看关于eth网卡的开机信息
    ethtool -i eth0 查看eth0网卡的驱动设备
    dmesg查看的开机信息是查看保存在/var/log/dmesg中的内容
    lsmod 查看系统中加载的所有驱动模块
    lsmod | grep e1000 查看eth0网卡的驱动设备

  • 卸载网卡驱动:

modprobe -r e1000   
rmmod e1000
  • 装载网卡驱动:
modprobe e1000
  • dmesg 显示存放内核启动文件
  • lsmod 查看驱动模块

配置网络接口

接口命名方式:CentOS 6:
    以太网:eth[0,1,2,...]
    ppp :ppp[0,1,2,...]
ifconfig 命令
    ifconfig [interface]
        # ifconfig -a
        # ifconfig IFACE [up|down]
    ifconfig interface [aftype] options | address ...
        # ifconfig IFACE IP/netmask [up]
        # ifconfig IFACE IP netmask NETMASK
    注意:立即生效;
    启用混杂模式:[-]promisc 

示例    
    ifconfig eth1 down 禁用网卡设置
    ifconfig eth1 up   启用网卡设置    
    ifconfig -a 查看所有的网卡设置,包括禁用的网卡   
    ifconfig eth1 2.2.2.2/24   临时配置eth1接口的IP地址,临时生效   

route 命令

路由管理命令
    查看:route -n
    添加:route add
        route add [-net|-host] target [netmask Nm] [gw Gw] [[dev] If] 
            -net 指定网络路由   -host指定主机路由    
        目标: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    dev接口设备可省略   
    
        默认路由,网关: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]
        
        删除默认路由:
            route del default gw 172.16.0.1
        目标: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 -add -net 10.0.0.0/8 gw 172.16.0.2 dev eth1 或 route -add -net 10.0.0.0/8 gw 172.16.0.2  
traceroute  跟踪路由信息
    具体参数格式:traceroute [-dFlnrvx][-f<存活数值>][-g<网关>...][-i<网络界面>][-m<存活数值>][-p<通信端口>][-s<来源地址>][-t<服务类型>][-w<超时秒数>][主机名称或IP地址][数据包大小]
    命令参数:
        -d 使用Socket层级的排错功能。
        -f 设置第一个检测数据包的存活数值TTL的大小。
        -F 设置勿离断位。
        -g 设置来源路由网关,最多可设置8个。
        -i 使用指定的网络界面送出数据包。
        -I 使用ICMP回应取代UDP资料信息。
        -m 设置检测数据包的最大存活数值TTL的大小。
        -n 直接使用IP地址而非主机名称。
        -p 设置UDP传输协议的通信端口。
        -r 忽略普通的Routing Table,直接将数据包送到远端主机上。
        -s 设置本地主机送出数据包的IP地址。
        -t 设置检测数据包的TOS数值。
        -v 详细显示指令的执行过程。
        -w 设置等待远端主机回报的时间。
        -x 开启或关闭数据包的正确性检验
mtr 跟踪路由信息
tcpdump -i eth0 -nn  抓取eth0接口的数据包     
  • lsof
    lsof(list open files)是一个列出当前系统打开文件的工具
lsof abc.txt 显示开启文件abc.txt的进程
lsof -c abc 显示abc进程现在打开的文件
lsof -c -p 1234 列出进程号为1234的进程所打开的文件
lsof -g gid 显示归属gid的进程情况
lsof +d /usr/local/ 显示目录下被进程开启的文件
lsof +D /usr/local/ 同上,但是会搜索目录下的目录,时间较长
lsof -d 4 显示使用fd为4的进程
lsof -i 用以显示符合条件的进程情况
lsof -i[46] [protocol][@hostname|hostaddr][:service|port]
    46 --> IPv4 or IPv6
    protocol --> TCP or UDP
    hostname --> Internet host name
    hostaddr --> IPv4地址
    service --> /etc/service中的 service name (可以不止一个)
    port --> 端口号 (可以不止一个)

lsof -i :22   查看22端口的服务进程

配置动态路由

  • 通过守护进程获取动态路由
    • 安装quagga包,支持多种格式的RIP 、OSPF 和BGP
    • 命令vtyshp配置
yum -y install  quagga    安装quagga软件包       
rpm -qi quagga   查看quagga包的信息说明    
rpm -ql quagga  查看quagga包括的文件列表,包含ospfd、bgpd等服务脚本           
cp /etc/quagga/ospfd.conf.sample /etc/quagga/ospfd.conf   复制服务配置文件      
service ospfd start  启动ospfd服务  
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相关  socket TCP/IP 套接字  IP+tcp/udp port 
    -l:  处于监听状态
    -a:  所有状态
    -n:  以数字显示IP 和端口;
    -e:扩展格式
    -p:显示相关进程及PID   
常用组合:
    -tan, -uan, -tnl, -unl,-ntuap    
显示路由表:
    netstat {--route|-r} [--numeric|-n]
        -r:显示内核路由表
        -n:数字格式
        netstat -nr   显示内核的路由信息    
显示接口统计数据:
    netstat {--interfaces|-I|-i} [iface] [--all|-a] [--extend|-e] [--program|-p] [--numeric|-n]
    netstat -i   显示所有接口的统计数据    
    netstat –I=eno16777736   显示接口统计数据
    ifconfig -s eno16777736   显示接口的统计数据   

ss命令

ss [OPTION]... [FILTER]
netstat 通过遍历proc来获取socket 信息,ss使用netlink 与内核tcp_diag模块通信获取socket 信息。

选项:
    -t: tcp协议相关
    -u: udp协议相关
    -w: 裸套接字相关
    -x:unix sock相关
    -l: listen状态的连接
    -a: 所有
    -n: 数字格式
    -p: 相关的程序及PID
    -e: 扩展的信息
    -m:内存用量
    -o:计时器信息   
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 = :ssh or sport = :ssh )'  显示所有已建立的ssh 连接
    ss -o state established '( dport = :http or sport = :http )'  显示所有已建立的HTTP 连接
    ss -s  列出当前socket详细信息      

网络配置文件

  • 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地址,修改MAC地址时,需将关键字HWADDR改为MACADDR
BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
NM_CONTROLLED:NM 是NetworkManager 的简写,此网卡是否接受NM 控制;建议CentOS6 为“no” 
ONBOOT:在系统引导时是否激活此设备
TYPE:接口类型;常见有的Ethernet, Bridge
UUID:设备的惟一标识
IPADDR:指明IP 地址
NETMASK:子网掩码
GATEWAY:默认网关
DNS1:第一个DNS 服务器指向
DNS2:第二个DNS 服务器指向
USERCTL:普通用户是否可控制此设备
PEERDNS:如果BOOTPROTO 的值为“dhcp”,是否允许dhcp server 分配的dns 服务器指向信息直接覆盖至/etc/resolv.conf
DOMAIN=example.com   域名设置

路由相关的配置文件:

/etc/sysconfig/network-scripts/route-IFACE

default via 172.16.0.1
172.10.10.0/24 via 172.10.20.1
ADDRESS1=10.0.0.0
NETMASK1=255.0.0.0
GATEWAT1=172.16.0.2 

ip

  • 配置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
        set dev IFACE
            可设置属性:
                up and down :激活或禁用指定接口
                ifup/ifdown
            ip link set eth0 down|up   激活或禁用eth0接口   
        
        show [dev IFACE] :指定接口
            [up] :仅显示处于激活状态的接口
            ip link show eth1  显示eth1接口的信息    
            ip link show up 仅显示激活状态的接口信息   
ip addr { add | del } IFADDR dev STRING
    [label LABEL] :添加地址时指明网卡别名
    [scope {global|link|host}]:指明作用域
        global:全局可用
        link:仅链接可用
        host:仅本机可用
    [broadcast ADDRESS] :指明广播地址
ip address show   look at protocol addresses
    [dev DEVICE]
    [label PATTERN]
    [primary and secondary]

ip addr 显示ip地址   
ip a 显示IP地址  
ip link show 
ip address show   显示接口ip
ip addr add 172.16.100.100/16 dev eth0   ip可配置添加多个    
ip addr add 172.16.100.100/16 dev eth0 label eth0:0   添加ip
ip addr add 172.16.100.100/16 dev eth0 label eth0:0  scope link  设置网卡别名、指明作用域 
ip addr del 172.16.100.100//16 dev eth0 删除ip地址   
ip addr del 172.16.100.100/16 dev eth0 label eth0:0
ip address flush  使用格式同show 
ip addr flush dev eth0 label eth0:0 删除eth:0地址   
ip addr flush dev eth0 将eth0接口的所有地址删除    


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 default   删除默认路由  
    显示路由:ip route show|list
    清空路由表:ip route flush [dev IFACE]  [via PREFIX]
        ip route flush dev eth0

示例:
    ifconfig eth0 down 从链路层关闭eth0网卡   
    ifconfig eth0 up 从链路层启用eth0网卡
    ifdown eth0 仅禁用地址网络层,而不禁用链路层    
    ifup eth0   启动网络层地址
    ip link 查看网卡链路层状态,不显示IP
    ip addr 显示网络层状态,显示IP地址
    ip route 显示路由表   
    ip link set eth0 down    禁用eth0网卡   
    ip link set eth0 up    启用eth0网卡
  • 本地解析文件
    解析器执行正向和逆向查询

    /etc/hosts本地解析文件
    本地主机名数据库和IP 地址的映像
    对小型独立网络有用
    通常,在使用DNS前检查
    getent hosts 查看/etc/hosts

  • /etc/sysconfig/network 主机名配置文件,可添加网关IP,晚于网卡配置文件生效

  • dns 名字解析

/etc/resolv.conf
    nameserver DNS_SERVER_IP1
    nameserver DNS_SERVER_IP2
    nameserver DNS_SERVER_IP3
    search magedu.com   自动识别域名
        域名设置,等同于/etc/sysconfig/network-scripts/ifcfg-eth0配置文件中的DOMAIN=magedu.com域名设置    
/etc/nsswitch.conf
    与/etc/hosts 相比优先于DNS,可在/etc/nsswitch.conf文件中修改dns与hosts的优先级先后 vim /etc/nsswitch.conf   
        hosts: files dns    表示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

注意:需service network restart 生效

两种风格:
    (1) TARGET via GW
        如:10.0.0.0/8 via 172.16.0.1
    (2)  每三行定义一条路由
        ADDRESS#=TARGET
        NETMASK#=mask
        GATEWAY#=GW

网卡别名

对虚拟主机有用

将多个IP 地址绑定到一个NIC上     
    eth0:1  、eth0:2、 eth0:3
ifconfig 命令:
    ifconfig eth0:0 192.168.1.100/24 up   添加别名eth0:0的ip
    ifconfig eth0:0 down
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 add 172.16.1.2/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)

一个网卡配置多个IP时,物理网卡可以用dhcp获取和静态IP,但别名网卡必须静态指定IP,不能dhcp获取

为每个设备别名生成独立的接口配置文件

关闭NetworkManager服务:service NetworkManger stop   
/etc/sysconfig/network-scripts/ifcfg-eth0:0
必须使用静态联网
    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=

网络接口配置-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 接口上传送所有的 报文, 提供容错能力
active-backup 、balance-tlb 和 和 balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接 。如:Cisco式交换机需要在模式0、2和3中使用EtherChannel ,但在 模式4中要需要LACP和EtherChannel
  • Bonding 配置
    先关闭NetworkManager服务:service NetworkManger stop
    创建bonding 设备的配置文件
/etc/sysconfig/network-scripts/ifcfg-bond0
    DEVICE=bond0
    BOOTPROTO=none
    BONDING_OPTS= “miimon=100 mode=0”
    IPADDR=172.10.10.10
    PREFIX=24
    GATEWAY=172.10.10.254
/etc/sysconfig/network-scripts/ifcfg-eth0
    DEVICE=eth0
    BOOTPROTO=none
    MASTER=bond0
    SLAVE=yes
    USERCTL=no
查看bond0状态:/proc/net/bonding/bond0


miimon  是用来进行链路监测的。如果miimon=100 ,那么系统每100ms  监测一次链路连接状态,如果有一条线路不通就转入另一条线路

删除bond0
    ifconfig bond0 down
    rmmod bonding
详细帮助:
    /usr/share/doc/kernel-doc-version/Documentation/networking/bonding.txt
        yum install kernel-doc*
    https://www.kernel.org/doc/Documentation/networking/bonding.txt

CentOS 7 网络属性配置

CentOS 6之前,网络接口使用连续号码命名:eth0 、eth1 等,当增加或删除网卡时,名称可能会发生变化

CentOS 7使用基于硬件,设备拓扑和设置类型命名:

(1)网卡命名机制
    systemd 对网络设备的命名方式
    (a)如果Firmware 或BIOS 为主板上集成的设备提供的索引信息可用,且可预测则根据此索引进行命名,例如eno1
(b)如果Firmware或BIOS为PCI-E扩展槽所提供的索引信息可用,且可预测,则根据此索引进行命名,例如ens1
(c)如果硬件接口的物理位置信息可用,则根据此信息进行命名,例如enp2s0
(d)如果用户显式启动,也可根据MAC 地址进行命名,enx2387a1dc56
(e)上述均不可用时,则使用传统命名机制

基于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
  • 采用传统命名方式(修改网卡名称为eth)
方式一
(1)编辑/etc/default/grub 配置文件
    GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0"
(2)为grub2 生成其配置文件
    grub2-mkconfig -o /etc/grub2.cfg
(3)重启系统  


方式二     
(1)编辑/boot/grub2/grub.cfg文件   
    GRUB_CMDLINE_LINUX ="rhgb quiet net.ifnames=0"   
(2)重启生效   

Centos7网络配置工具

hostnamectl

  • 使用hostnamectl修改主机名

CentOS6 之前主机名配置文件:/etc/sysconfig/network

CentOS7 主机名配置文件:/etc/hostname ,默认没有这个文件,通过DNS 反向解析获取主机名,主机名默认为 :localhost.localdomain

显示主机名信息

hostname
hostnamectl status 显示更详细的信息

设置主机名(创建并修改文件并生效)

hostnamectl set-hostname danran.example.com

删除文件,恢复主机名localhost.localdomain

CentOS 7 网络配置工具

图形工具:nm-connection-editor
字符配置tui工具:nmtui
命令行工具:nmcli

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 value
    setting.property:ipv4.addresses ipv4.gateway ipv4.dns1 ipv4.method manual | auto
修改配置文件执行生效:systemctl restart network
                    nmcli con reload
nmcli命令生效:nmcli con down eth0 ;nmcli con up eth0
  • 使用nmcli配置网络
    NeworkManager 是管理和监控网络设置的守护进程

  • 设备即网络接口,连接是对网络接口的配置。一个网络接口可有多个连接配置,但同时只有一个连接配置生效

显示所有包括不活动连接
    nmcli connection show
显示所有活动连接
    nmcli connection show --active
显示网络连接配置
    nmcli con show "System eth0“
显示设备状态
    nmcli dev status
显示网络接口属性
    nmcli dev show eth0
创建新连接default,IP自动通过dhcp 获取
    nmcli con add con-name default type Ethernet ifname eth0
删除连接
    nmcli con delete 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.254
nmcli con mod “static” +ipv4.dns 8.8.8.8
nmcli con mod “static” -ipv4.dns 8.8.8.8
nmcli con mod “static” ipv4.addresses “172.25.X.10/24 172.25.X.254”
nmcli con mod “static” +ipv4.addresses 10.10.10.10/16

DNS设置,存放在/etc/resolv.conf文件中

PEERDNS=no  表示当 当IP 通过dhcp 自动获取时,dns 仍是 手动设置,不自动获取。等价于下面命令:
nmcli con mod “system eth0” ipv4.ignore-auto-dns yes

nmcli命令与ifcfg-*文件对比

nmcli con mod ifcfg-* 文件
ipv4.method manual BOOTPROTO=none
ipv4.method auto BOOTPROTO=dhcp
ipv4.addresses “192.0.2.1/24 192.0.2.254 IPADDR0=192.0.2.1 PREFIX0=24 GATEWAY0=192.0.2.254
ipv4.dns 8.8.8.8 DNS0=8.8.8.8
ipv4.dns-search example.com DOMAIN=example.com
ipv4.ignore-auto-dns true PEERDNS=no
connection.autoconnect yes ONBOOT=yes
connection.id eth0 NAME=eth0
connection.interface-name eth0 DEVICE=eth0
802-3-ethernet.mac-address . . . HWADDR= . . .

网络配置文件

设备配置被保存在文本文件中

 /etc/sysconfig/network-scripts/ifcfg-<name>
帮助文档列出完整选项列表:/usr/share/doc/initcripts-*/sysconfig.txt
静态配置 动态配置
DEVICE=ethX DEVICE=ethX
HWADDR=0:02:8A:A6:30:45 HWADDR=0:02:8A:A6:30:45
IPADDR=192.168.0.123 BOOTPROTO=dhcp
NETMASK=255.255.255.0 ONBOOT=yes
GATEWAY=192.168.0.254 Type=Ethernet
ONBOOT=yes
Type=Ethernet

nmcli命令:

修改连接配置后,需要重新加载配置

nmcli con reload
nmcli con down “system eth0”  可被自动激活
nmcli con up “system eth0”
nmcli dev dis eth0  禁用网卡,访止被自动激活

图形工具

nm-connection-editor

字符工具

nmtui
nmtui-connect
nmtui-edit
nmtui-hostname

nmcli示例:

nmcli connection show   列出所有网卡的配置文件
nmcli connection show eth1-lan   显示eth1网卡的eth1-lan配置文件的详细信息  
nmcli connection modify eth16777 connection.id eth1  修改eth1677网卡的配置文件NAME为eth1-dan 
nmcli connection delete eth1    删除eth1网卡的配置文件   
nmcli connection add con-name eth1-lan type ethernet ifname eth1 生成eth1网卡上名称为eth1-lan新配置文件,类型为ethernet,ifname指定接口  

nmcli connection modify eth1-lan connection.autoconnect yes ipv4.method manual ipv4.addresses 172.10.10.100/24 ipv4.gateway 172.16.0.1 ipv4.dns 172.16.0.1 
    修改eth1-lan配置文件的IP,connection.autoconnect yes为开机自动连接,ipv4.method manual为选择手动分配IP,ipv4.method auto为选择自动分配IP,修改网关和dns为172.16.0.1 
nmcli connection up eth1-lan   启用eth1网卡的eth1-lan配置文件  
nmcli connection reload  从系统中重新加载配置文件      

对网卡添加多个IP
nmcli connection modify eth1 +ipv4.addresses 172.17.0.1/24   添加eth1网卡wan第二个地址,eth1为连接名,而非设备名  
nmcli connection modify eth1 -ipv4.addresses 172.17.0.1/24   删除eth1第二个地址,eth1为连接名
nmcli connection up eth1  启用eth1网卡配置文件      

nmcli device disconnect eth1   断开网络层,即禁用网络层IP
nmcli device show eth1  显示eth1的设备信息和状态     
nmcli device connect eth1  连接eth1网卡的网络层
nmcli device dis eth0  禁用网卡,访止被自动激活

nmcli 实现bonding

添加bonding 接口
    nmcli con add type bond con-name mybond0 ifname mybond0 mode active-backup
添加从属接口
    nmcli con add type bond-slave ifname ens7 master mybond0
    nmcli con add type bond-slave ifname ens3 master mybond0
    注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
要启动绑定,则必须首先启动从属接口
    nmcli con up bond-slave-eth0
    nmcli con up bond-slave-eth1
启动绑定
    nmcli con up mybond0
  • 示例:
nmcli connection add type bond con-name bond0 ifname bond0 mode active-backup con-name为bond0接口文件,type类型为bond,ifname指定接口,工作模式为mode active-backup
nmcli connection modify bond0 ipv.4method manual ipv4.addresses 192.168.0.10/24 添加bond0IP
nmcli connection add type bond-slave ifname eth0 master bond0  将eth0网卡添加到bond0
nmcli connection up bond-slave-eth1 启用bond的从设备eth1

nmcli connection down bond0   停止bond0设备
nmcli connection delete bond0    删除bond0的配置文件

网络组Network Teaming

网络组:是将多个网卡聚合在一起方法,从而实现冗错和提高吞吐量

网络组不同于旧版中bonding 技术,提供更好的性能和扩展性
网络组由内核驱动和teamd 守护进程实现.
多种方式runner

broadcast
roundrobin
activebackup
loadbalance
lacp (implements the 802.3ad Link Aggregation Control Protocol)
  • 网络组
    启动网络组接口不会自动启动网络组中的port接口
    启动网络组接口中的port接口总会自动启动网络组接口
    禁用网络组接口会自动禁用网络组中的port接口
    没有port接口的网络组接口可以启动静态IP连接
    启用DHCP连接时,没有port接口的网络组会等待port接口的加入

  • 创建网络组接口

nmcli con add type team con-name CNAME ifname INAME [config JSON]
    CNAME 连接名,INAME 接口名
    JSON  指定runner方式
        格式:'{"runner": {"name": "METHOD"}}'
            METHOD可以是broadcast,roundrobin,ctivebackup,loadbalance,lacp
  • 创建port接口
nmcli con add type team-slave con-name CNAME ifname INAME master TEAM
    CNAME 连接名
    INAME 网络接口名
    TEAM 网络组接口名
连接名若不指定,默认为team-slave-IFACE
nmcli dev dis INAME
nmcli con up CNAME
    INAME 设备名 CNAME 网络组接口名或port接口
  • 网络组示例:
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
nmcli con add con-name team0-eth1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-eth2 type team-slave ifname eth2 master team0
nmcli con up team0
nmcli con up team0-eth1
nmcli con up team0-eth2
teamdctl team0 state 查看team0的状态
nmcli dev dis eth1  禁用网卡eth1    

实验:创建网络组

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 con-name team0-port1 type team-slave ifname eth1 master team0
nmcli con add con-name team0-port2 type team-slave ifname eth2 master team0
teamdctl team0 state查看tesm0的状态   
ping -I team0 192.168.0.254
nmcli dev dis eno1
teamdctl team0 state
nmcli con up team0-port1
nmcli dev dis eno2 禁用网卡eno2
teamdctl team0 state
nmcli con up team0-port2
teamdctl team0 state

网络组配置文件

/etc/sysconfig/network-scripts/ifcfg-team0

DEVICE=team0
DEVICETYPE=Team
TEAM_CONFIG="{\"runner\": {\"name\": \"broadcast\"}}"
BOOTPROTO=none
IPADDR0=172.25.5.100
PREFIX0=24
NAME=team0
ONBOOT=yes

/etc/sysconfig/network-scripts/ifcfg-team0-eth1

DEVICE=eth1
DEVICETYPE=TeamPor
TEAM_MASTER=team0
NAME=team0-eth1
ONBOOT=yes

删除网络组

nmcli connection down team0
teamdctl team0 state
nmcli connection show
nmcli connectioni delete team0-eth0
nmcli connectioni delete team0-eth1
nmcli connection show

网桥

桥接:把一台机器上的若干个网络接口“连接”起来。其结果是,其中一个网口收到的报文会被复制给其他网口并发送出去。以使得网口之间的报文能够互相转发。网桥就是这样一个设备,它有若干个网口,并且这些网口是桥接起来的。与网桥相连的主机就能通过交换机的报文转发而互相通信。
主机A 发送的报文被送到交换机S1 的eth0 口,由于eth0与eth1 、eth2 桥接在一起,故而报文被复制到eth1 和eth2 ,并且发送出去,然后被主机B和交换机S2接收到。而S2又会将报文转发给主机C 、D。
  • 配置实现网桥
创建软件网桥
    nmcli con add type bridge con-name br0 ifname br0
    nmcli connection modify br0 ipv4.addresses 192.168.74.100/24 ipv4.method manuall
    nmcli con add type bridge-slave con-name br0-port0 ifname eth0 master br0
查看网桥
    cat /etc/sysconfig/network-scripts/ifcfg-br0
    cat /etc/sysconfig/network-scripts/ifcfg-br0-port0 brctl show
删除网桥 brctl delbr br0
删除网桥中网卡 brctl delif eth0
注意:NetworkManager 只支持以太网接口接口连接到网桥,不支持聚合接口
  • 测试网络工具
    在命令行下测试网络的连通性
显示主机名
    hostname
测试网络连通性
    ping
    mtr
显示正确的路由表
    ip route
确定名称服务器使用:
    nslookup
    host
    dig
跟踪路由
    traceroute
    tracepath
  • 网络客户端工具
ftp,lftp
    子命令:get、mget、ls、help
lftp [-p port] [-u user[,password]] SERVER
lftpget URL
wget [option]... [URL]...
    -q:静默模式
    -c:断点续传
    -O:保存位置
    --limit-rate=:  指定传输速率,单位K,M等 等
links URL
    --dump
    --source
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 211,948评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,371评论 3 385
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 157,490评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,521评论 1 284
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,627评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 49,842评论 1 290
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,997评论 3 408
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,741评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,203评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,534评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,673评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,339评论 4 330
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 39,955评论 3 313
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,770评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,000评论 1 266
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,394评论 2 360
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,562评论 2 349

推荐阅读更多精彩内容