zoukankan      html  css  js  c++  java
  • 网络管理基础

    网络管理基础

    Network interface names

    Traditionally, network interfaces in Linux are enumerated as eth0, eth1, eth2, and so on. However, the mechanism which
    sets these names can cause changes to which interface gets which name as devices are added and removed.
    The default naming behavior in Red Hat Enterprise Linux 7 is to assign fixed names based on firmware, device topology,
    and device type.

    Interface names have the following characters:
    Ethernet interfaces begin with en, WLAN interfaces begin with wl, and WWAN interfaces begin with ww.
    The next character(s) represents the type of adapter with an o for on-board, s for hotplug slot, and p for PCI geographic location.
    Not used by default but also available to administrators, an x is used to incorporate a MAC address.
    Finally, a number N is used to represent an index, ID, or port.
    If the fixed name cannot be determined, the traditional names such as ethN will be used.

    For example, the first embedded network interface may be named eno1 and a PCI card network interface may be named enp2s0.
    The new names make it easier to distinguish the relationship between a port and its name if the user knows both, but the
    trade off is that users cannot assume a system with one interface calls that interface eth0.

    使用NetworkManager管理网络

    网络管理器(NetworkManager)是一个动态网络的控制器与配置系统,它用于当网络设备可用时保持设备和连接开启并激活
    默认情况下,CentOS/RHEL 7 已安装网络管理器,并处于启用状态。

    device 设备,物理设备 例如enp2s0,virbr0,team0
    connection 连接,逻辑设置 指的是一套具体配置方案
    多个connection可以应用到同一个device,但同一时间只能启用其中一个connection。
    这样的好处是针对一个网络接口,可以设置多个网络连接,比如静态IP和动态IP,再根据需要up相应的connection

    NetworkManager提供的工具
    nmcli, nmtui, nm-connect-editor

    1. 方法一: 修改ip/netmask/dns/gateway[了解]
    [root@CentOS7 ~]# nmcli connection add con-name enp2s0-auto autoconnect yes ifname enp2s0 type ethernet
    [root@CentOS7 ~]# nmcli connection add con-name enp2s0-gun autoconnect yes ifname enp2s0 type ethernet ip4 10.10.10.10/24 gw4 10.10.10.254
    [root@CentOS7 ~]# nmcli connection show enp2s0-auto |grep ipv4.me
    ipv4.method: auto
    [root@CentOS7 ~]# nmcli connection show enp2s0-gun |grep ipv4.me
    ipv4.method: manual
    [root@CentOS7 ~]# ls /etc/sysconfig/network-scripts/
    ifcfg-enp2s0 ifdown-ippp ifdown-TeamPort ifup-ipv6 ifup-Team
    ifcfg-enp2s0-auto ifdown-ipv6 ifdown-tunnel ifup-isdn ifup-TeamPort
    ifcfg-enp2s0-gun ifdown-isdn ifup ifup-plip ifup-tunnel
    [root@CentOS7 ~]# nmcli connection up enp2s0-auto
    [root@CentOS7 ~]# nmcli connection delete enp2s0-auto
    [root@CentOS7 ~]# nmcli connection modify enp2s0-gun ipv4.method a
    [root@CentOS7 ~]# nmcli connection modify enp2s0-gun ipv4.method m
    [root@CentOS7 ~]# nmcli connection modify enp2s0-gun +ipv4.addresses 20.20.20.20/24
    [root@CentOS7 ~]# nmcli connection modify enp2s0-gun +ipv4.dns 114.114.114.114
    [root@CentOS7 ~]# nmcli connection show enp2s0-gun |grep ipv4.add
    ipv4.addresses: 10.10.10.10/24, 20.20.20.20/24

    2. 方法二:修改ip/netmask/dns/gateway
    [root@CentOS7 ~]# vim /etc/sysconfig/network-scripts/ifcfg-enp2s0
    NAME="enp2s0"
    DEVICE="enp2s0"
    ONBOOT=yes
    NETBOOT=yes
    BOOTPROTO=none
    IPADDR=172.16.120.246
    PREFIX=24
    IPADDR1=192.168.200.246
    PREFIX1=24
    GATEWAY=172.16.120.254
    DNS1=8.8.8.8
    DNS2=114.114.114.114
    [root@CentOS7 ~]# nmcli con reload
    [root@CentOS7 ~]# nmcli con down enp2s0; nmcli con up enp2s0

    注:删除自建的连接connection

    不使用NetworkManager管理网络

    aliyun
    [root@aliyun ~]# nmcli connection delete enp2s0-auto
    [root@aliyun ~]# systemctl disable NetworkManager
    [root@aliyun ~]# systemctl stop NetworkManager
    [root@aliyun ~]# systemctl status NetworkManager
    ● NetworkManager.service - Network Manager
    Loaded: loaded (/usr/lib/systemd/system/NetworkManager.service; disabled; vendor preset: enabled)
    Active: inactive (dead)

    [root@aliyun ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
    NAME=eth0
    DEVICE=eth0
    ONBOOT=yes
    NETBOOT=yes
    BOOTPROTO=none
    IPADDR=192.168.122.169
    PREFIX=24
    TYPE=Ethernet
    [root@aliyun ~]# systemctl restart network.service


    以下配置跟NetworkManager无关:
    1. 修改主机名/etc/hostname
    # hostnamectl set-hostname CentOS7.example.com
    # cat /etc/hostname
    # reboot

    2. 配置名字解析Configuring name resolution
    a. hosts
    [root@CentOS7 ~]# cat /etc/hosts
    127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
    ::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
    119.75.218.70 www.baidu.com
    [root@CentOS7 ~]# getent hosts www.baidu.com
    119.75.218.70 www.baidu.com

    b. resolv.conf DNS
    [root@CentOS7 ~]# cat /etc/resolv.conf
    # Generated by NetworkManager
    nameserver 114.114.114.114
    [root@CentOS7 ~]# yum -y install bind-utils
    [root@CentOS7 ~]# host www.sina.com
    www.sina.com is an alias for us.sina.com.cn.
    us.sina.com.cn is an alias for wwwus.sina.com.
    wwwus.sina.com has address 66.102.251.33

    基本的网络测试工具

    [root@CentOS7 ~]# ip a
    [root@CentOS7 ~]# ip a s eth0
    [root@CentOS7 ~]# ip route
    [root@CentOS7 ~]# ip neigh
    [root@CentOS7 ~]# hostname
    [root@CentOS7 ~]# ping www.baidu.com
    [root@CentOS7 ~]# ping -c2 www.baidu.com
    [root@CentOS7 ~]# ip -s link show eth0
    [root@CentOS7 ~]# traceroute www.sina.com
    [root@CentOS7 ~]# tracepath www.sina.com
    1?: [LOCALHOST] pmtu 1500
    1: no reply
    2: 11.245.87.126 0.787ms
    3: 106.11.130.218 0.387ms
    4: 42.120.244.125 0.425ms
    5: 150.138.132.157 1.469ms
    6: 150.138.128.241 3.546ms asymm 7
    7: 202.97.40.241 24.677ms
    8: 202.97.24.154 14.197ms
    9: 202.97.33.154 18.340ms asymm 10
    10: 202.97.90.242 182.632ms
    11: 203.14.186.138 193.383ms asymm 13
    12: 218.30.41.234 209.543ms asymm 13
    13: 66.102.251.33 163.224ms reached
    Resume: pmtu 1500 hops 13 back 14

    查看设备物理连接的状态
    [root@CentOS7 ~]# ip a
    2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN qlen 1000
    如果在连接禁用 onboot=no 以上的信息不真实

    [root@CentOS7 ~]# ethtool enp1s0
    Link detected: no

    ports and services

    以下为示例服务:
    [root@aliyun ~]# yum -y install httpd vsftpd
    [root@aliyun ~]# systemctl start httpd
    [root@aliyun ~]# systemctl start vsftpd

    http 80/tcp
    https 443/tcp
    ssh 22/tcp
    ftp 21/tcp

    1. Show TCP sockets (LISTEN)
    [root@aliyun ~]# ss -tnl
    State Recv-Q Send-Q Local Address:Port Peer Address:Port
    LISTEN 0 128 *:80 *:*
    LISTEN 0 128 *:8080 *:*
    LISTEN 0 10 114.215.71.214:53 *:*
    LISTEN 0 10 10.29.89.165:53 *:*
    LISTEN 0 10 127.0.0.1:53 *:*
    LISTEN 0 128 *:22 *:*
    LISTEN 0 128 127.0.0.1:953 *:*
    LISTEN 0 128 127.0.0.1:6010 *:*
    LISTEN 0 128 *:443 *:*
    LISTEN 0 32 :::21 :::*
    LISTEN 0 10 :::53 :::*

    [root@aliyun ~]# ss -tnl |grep :80
    LISTEN 0 128 *:80 *:*
    [root@aliyun ~]# ss -tnl |grep :21
    LISTEN 0 32 :::21 :::*

    [root@aliyun ~]# ss -atn
    State Recv-Q Send-Q Local Address:Port Peer Address:Port
    LISTEN 0 128 *:80 *:*
    LISTEN 0 10 114.215.71.214:53 *:*
    LISTEN 0 10 10.29.89.165:53 *:*
    LISTEN 0 10 127.0.0.1:53 *:*
    LISTEN 0 128 *:22 *:*
    LISTEN 0 128 127.0.0.1:953 *:*
    LISTEN 0 128 127.0.0.1:6010 *:*
    ESTAB 0 52 114.215.71.214:22 123.120.38.233:49603
    ESTAB 0 0 114.215.71.214:40962 140.205.140.205:80
    LISTEN 0 32 :::21 :::*
    LISTEN 0 10 :::53 :::*

    [root@aliyun ~]# ss -atn |grep :22
    LISTEN 0 128 *:22 *:*
    ESTAB 0 52 114.215.71.214:22 123.120.38.233:49603

    [root@aliyun ~]# ss -atn |grep :80
    LISTEN 0 128 *:80 *:*
    ESTAB 0 0 114.215.71.214:40962 140.205.140.205:80

    a 所有状态,包括 l LISTEN

    2. Show UDP sockets (所有状态)
    [alice@CentOS7 ~]$ ss -anu
    State Recv-Q Send-Q Local Address:Port Peer Address:Port
    UNCONN 0 0 114.215.71.214:53 *:*
    UNCONN 0 0 10.29.89.165:53 *:*
    UNCONN 0 0 127.0.0.1:53 *:*
    UNCONN 0 0 114.215.71.214:123 *:*
    UNCONN 0 0 10.29.89.165:123 *:*
    UNCONN 0 0 127.0.0.1:123 *:*
    UNCONN 0 0 *:123 *:*
    UNCONN 0 0 :::53 :::*
    UNCONN 0 0 :::123 :::*

    [kiosk@foundation0 ~]$ ss -tan |grep :5910
    LISTEN 0 5 *:5910 *:*
    ESTAB 0 0 172.25.254.250:5910 172.25.254.44:51435
    ESTAB 0 0 172.25.254.250:5910 172.25.254.6:40546
    ESTAB 0 0 172.25.254.250:5910 172.25.254.18:37780
    ESTAB 0 0 172.25.254.250:5910 172.25.254.13:55841
    ESTAB 0 0 172.25.254.250:5910 172.25.254.35:36984
    ESTAB 0 0 172.25.254.250:5910 172.25.254.9:47342
    ESTAB 0 0 172.25.254.250:5910 172.25.254.2:40955
    ESTAB 0 0 172.25.254.250:5910 172.25.254.12:50833
    ESTAB 0 0 172.25.254.250:5910 172.25.254.36:50854
    ESTAB 0 0 172.25.254.250:5910 172.25.254.1:52444
    ESTAB 0 0 172.25.254.250:5910 172.25.254.47:39335
    ESTAB 10 0 172.25.254.250:5910 172.25.254.14:55833

    CentOS7修改网卡为eth0

    1. 修改网卡配置文件
    # mv ifcfg-eno16777728 ifcfg-eth0  
    # vim ifcfg-eth0  
    NAME=eth0  

    2. GRUB添加kernel参数
    # vim /etc/sysconfig/grub
    GRUB_CMDLINE_LINUX="...... net.ifnames=0"
    # grub2-mkconfig -o /boot/grub2/grub.cfg

    3. reboot
    # reboot

    在KVM虚拟机添加全虚拟化的网卡

    也可在安装系统时添加kernel参数 net.ifnames=0

    KVM安装Centos7:

    临时配置网络信息

    ip/netmask
    # ip addr add dev eth1 3.3.3.3/24
    # ip addr del dev eth1 3.3.3.3/24

    gateway
    # ip route del default
    # ip route add default via 192.168.122.3
    # ip route add 10.10.10.0/24 via 192.168.122.5

    hostname
    # hostname CentOS7.cc.com


  • 相关阅读:
    websocket简单理解
    对两个列表合成一个列表后进行排序
    爬取今日头条财经版块新闻
    Python的hasattr(),getattr(),setattr()
    Django基础
    pymysql模块的使用
    我一定要学好英语
    Django项目的创建
    MySQL数据库(安装+增删改查)
    jQuery
  • 原文地址:https://www.cnblogs.com/thelovelybugfly/p/12055043.html
Copyright © 2011-2022 走看看