网络配置以及网络配置文件详解

hostname

  • centos6

    • 命令
      hostname

    • 配置文件
      /etc/sysconfig/network
      /etc/hosts 文件127.0.0.1后添加主机名

  • centos7

    • 命令
      hostname

    • 配置文件
      /etc/hostname
      /etc/hosts
      注:hosts文件可做名词解析。格式:IP+Domain

    • hostnamectl命令可自动修改/etc/hostname文件,需手动再改下/etc/hosts文件

      • set-hostname 设置主机名

      • status 可查看主机详细信息


网卡配置

Centos6

  • 网卡命名
    eth[0,1,2...]

    • 配置文件
      /etc/udev/rules.d/70-persistent-net.rules
      根据mac地址,更改后面NAME=的参数

    • 生效方法

      • 方法1:卸载网卡驱动程序模块后,再重新加载

        1. 查询网卡驱动

          ethtool -i eth1 (查看网卡eth1,驱动模块)
          dmesg |grep eth (查看所有硬件信息,筛选出驱动)
          lsmod | grep e1000(列出所有加载到内存的驱动程序模块,筛选出网卡)

        2. modprobe -r e1000 卸载模块e1000的驱动 或rmmod e1000

        3. modprobe e1000 重新加载模块e1000的驱动`

      • 方法2:重启

Centos7

  • 网卡命名
    ens[33.37..]

    • 使用传统命名方式:
      (1) 编辑/etc/default/grub配置文件
      GRUBCMDLINELINUX="rhgbquiet net.ifnames=0"
      或:直接修改/boot/grub2/grub.cfg,不需第三步

    (2) 为grub2生成其配置文件
    grub2-mkconfig -o /boot/grub2/grub.cfg

    (3) 重启系统


ifconfig配置网卡信息

  • 网卡配置文件/etc/sysconfig/network-scripts/ifcfg-eth1
    #号可不写

    DEVICE=eth1(必须和物理网卡同名)
    #NAME=eth1
    BOOTPROTO=static
    IPADDR=172.20.0.6 
    PREFIX=16 
    #GATEWAY=172.20.0.1
    #ONBOOT=yes
    #DNS1=114.114.114.114
    #IPADDR2=192.168.0.1 (子接口设置在一起,或子接口单建文件,单建注意修改网卡名称eth1:1)
    #PREFIX2=24
    

    -文件内可添加的选项

    DEVICE:此配置文件应用到的设备
    HWADDR:对应的设备的MAC地址
    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服务器指向
    PEERDNS:如果BOOTPROTO的值为“dhcp”,是否允许dhcp server分配的dns服务器指向信息直接覆盖至/etc/resolv.conf文件中
    
  • 若eth1想从DHCP服务器获取

    cat > ifcfg-eth1
    DEVICE=eth1
    BOOTPROTO=dhcp
    重启网络
    
  • ifconfig -eth1 down 禁用网卡 (ifdown eth1禁用网络层)

  • ifconfig -eth1 up启用网卡 (ifup eth1 启用)

  • ifconfig -a 或 ip a查看

  • ifconfig eth1 192.168.0.100 临时配置IP
    去除ifconfig -eth1 down

  • ifconfig eth1:1 192.186.23.4/24 给eth1 配置别名eth1:1

  • service NetworkManager restart重置网络
    service Network restart
    restartnet centos7上

  • tcpdump -i eth0 -nn icmp 抓包:从eth0抓icmp协议

  • DNS文件和/etc/hosts文件的查询优先级可通过修改
    vim /etc/nsswitch.conf文件
    找到hosts:行后 dns file 位置可调换

centsos7 可通过nmcli命令修改配置文件

  1. 创建自定义链接配置文件
    nmcli connection add con-name eth0-test ifname eth0 type ethernet ipv4.addresses 192.168.32.100/24 ipv4.method manual autoconnect no ipv4.gateway 192.168.32.1
    (创建连接名为eth0-home,针对于eth0,类型ethernet,ipv4地址为192.168.32.100/24,ipv4手工创建,不自动链接)

  2. 创建新链接eth0-test,IP自动通过dhcp获取
    nmcli connection add con-name eth0-test ifname eth0 type ethernet

  3. 删除链接
    nmcli con del eth0-test

  4. 查看配置文件(绿色为启用)
    nmcli connection

  5. 切换配置文件,启动配置文件
    nmcli connection up eth0-test

  6. 显示配置文件信息
    nmcli connection show eth0-test

  7. 修改配置文件中NAME=(我这里为eth0-test,网卡称呼不是配置文件名)
    nmcli connection modify eth0-office con-name eth0-test

  8. 修改配置文件中ONBOOT=(yes或no,网卡现在是否启动)
    nmcli connection modify eth0-test connection.autoconnect no

  9. 修改配置文件中BOOTPROTO=none(创建配置文件默认不添ipv4.method manual默认为=dhcp,设置自定义IP失效)
    nmcli connection modify eth0-home ipv4.method manual

  10. 添加配置文件中多个地址(选择接口名之后添加,记得修改BOOTPROTO)
    nmcli connection modify eth0-test +ipv4.addresses 2.2.2.2/24

  11. 删减配置文件中地址
    nmcli connection modify eth0-test -ipv4.addresses 2.2.2.2/24

  12. 断开链接
    nmcli device disconnect eth0

  13. 重新链接
    nmcli device connect eth0


route命令

  • 路由配置文件 /etc/syconfig/network-scripts/route-eth0

    10.0.0.0/8  via 192.168.32.100  
    目标网络ID   via  网关
    (新建文件路由接口名自定义,几个接口建立几个文件,添加静态路由可永久保存)
    
  • route -n 查看

  • route add -host 192.168.32.60 dev eth1添加(- host单主机)

  • route add -net 192.168.32.0 gw 10.0.0.8自动选择网卡可不添

  • route del -net 192.168.32.0/24 dev eth1删除(-net整个网段)

  • PC开启路由功能/proc/sys/net/ipv4/ip_forward

    echo 1 >/proc/sys/net/ipv4/ip_forward 开启
    echo 0 >/proc/sys/net/ipv4/ip_forward 不开启
    
  • 查看经过几跳到达

    mtr 192.168.32.7
    traceroute 192.168.32.7 
    
  • 末端路由添加deault默认网段,网关即可

    (deault=0.0.0.0/0) 
    route add deault gw 10.0.0.1
    注:如172.16.4.0/16错,注意添加网段。
    

    注:vlan是划分出广播域,网段不一样


ip命令

  • 命令补全

    centos7 tab键可补全命令,
    centos6上需配置epel源:
    [root@Dadda6 ~]#vim  /etc/yum.repos.d/base.repo
    
    [epel]
    name=EPEL
    baseurl=http://mirrors.aliyun.com/epel/$releasever/$basearch
    gpgcheck=0
    enabled=1   
    
    安装`yum install bash-completion`
    之后exit重新进入可以用补全命令
    
  • ip link 查看数据链路层信息

    vim /etc/syconfig/network-scripts/route-eth0
    添加一行
    MACADDR=新MAC,可以逻辑上更改MAC地址
    
  • ip addr 查看网卡信息

    ip addr add 2.2.2.2/24 dev ens33 加IP
    
    ip addr add 3.3.3.3/24 dev ens33 labal ens33:1 加别名IP
    
    ip addr del 3.3.3.3/24 dev ens33 删除
    
    ip addr flush ens33  子口地址全删
    
  • ip route 查看路由表

    ip route add 2.2.2.0/24 via 192.168.32.100 添加路由
    等同
    route add -net  2.2.2.0/24 gw 192.168.32.100 
    
    ip route add default via 192.168.32.100 添加默认路由
    
    ip route delete 删除
    
    iproute flush dev eth1 清空eth1路由表
    

ss命令

  • 常用组合:
    tan, -tanl, -tanlp, -uan

    -t: tcp协议相关
    -u: udp协议相关
    -w: 裸套接字相关
    -x:unixsock相关
    -l: listen状态的连接
    -a: 所有
    -n: 数字格式
    -p: 相关的程序及PID
    -e: 扩展的信息
    -m:内存用量
    -o:计时器信息
    
  • 常见用法

    ss -l 显示本地打开的所有端口

    ss -pl显示每个进程具体打开的socket

    ss -t -a 显示所有tcpsocket

    ss -u -a 显示所有的UDP Socekt

    ss -o state established '( dpor t= :ssh or sport = :ssh )' 显示所有已建立的ssh连接

    ss -o state established '( dpor t= :http or sport = :http )' 显示所有已建立的HTTP连接

    ss-s 列出当前socket详细信息


netstat 显示网络连接 被ss命令逐渐淘汰

  • -t: tcp协议相关
    -u: udp协议相关
    -w: raw socket相关
    -l: 处于监听状态
    -a: 所有状态
    -n: 以数字显示IP和端口
    -e:扩展格式
    -p: 显示相关进程及PID
    
    1. netstat -tnla查看谁连我次数多

    2. netstat -tnape 查看用哪个应用程序连我

    3. netstat -nr 同 route -n显示路由表

    4. netstat -i 查看数据报文变化可配合 watch -n0.5 `netstat -i`使用,每0.5使用一次 netstat -i命令

    5. netstat -Ieth0 查看具体接口的数据报文。
      大写I到后面紧接网卡名不要空格
      同命令ifconfig -s eth0


使用vtysh命令配置 (与思科命令相似)

  • RIP协议考虑经过的路由器数量
    OSPF协议综合考虑,带宽和数量

    1. yum install quagga 安装quagga包

    2. service ospfd start 启动ospfd服务

    3. cd /etc/quagga ls查看是否启动,没启动缺少配置文件
      cp ospfd.conf.sample ospfd.conf 把文件的.sample去了,变成.conf结尾的配置文件

    4. service ospfd start 再次启动

    5. vtysh进入开始配置

    6. conf -t

    7. router ospf 开始配置(与思科命令相似)

小常识:当网络中不存在DHCP服务器时,获取169.254.x.y地址。


Bonding配置

  • boding的几种模式

    1. Mode 0 (balance-rr)
      轮转(Round-robin)策略:从头到尾顺序的在每一个slave接口上面发送数据包。本模式提供负载均衡和容错的能力

    2. Mode 1 (active-backup)
      活动-备份(主备)策略:只有一个slave被激活,当且仅当活动的slave接口失败时才会激活其他slave。为了避免交换机发生混乱此时绑定的MAC地址只有一个外部端口上可见

    3. Mode 3 (broadcast)
      广播策略:在所有的slave接口上传送所有的报文,提供容错能力

    4. active-backup、balance-tlb和balance-alb模式不需要交换机的任何特殊配置。其他绑定模式需要配置交换机以便整合链接。如:Cisco 交换机需要在模式0、2 和3 中使用EtherChannel,但在模式4中需要LACP和EtherChannel

  • 创建bonding设备的配置文件

    1. /etc/sysconfig/network-scripts/ifcfg-bond0
      DEVICE=bond0
      BOOTPROTO=none
      BONDING_OPTS=“miimon=100 mode=1” (主备模式)
      IPADDR=
      PREFIX=

    2. /etc/sysconfig/network-scripts/ifcfg-eth0
      DEVICE=eth0
      BOOTPROTO=none
      MASTER=bond0
      SLAVE=yes

    3. /etc/sysconfig/network-scripts/ifcfg-eth1
      DEVICE=eth1
      BOOTPROTO=none
      MASTER=bond0
      SLAVE=yes

  • 取消boding

    1. ifconfig bond0 down

    2. modprobe -r bonding

    3. rm -f ifcfg-bond0

  • 查看bond0状态:/proc/net/bonding/bond0

    Centos7通过nmcli实现bonding

    1. 添加bonding接口

      nmclicon add type bond con-name mybond0 ifname mybond0 mode active-backup
      
    2. 添加从属接口

      nmclicon add type bond-slave ifname ens7 master mybond0
      nmclicon add type bond-slave ifname ens3 master mybond0
      
      注:如无为从属接口提供连接名,则该名称是接口名称加类型构成
      要启动绑定,则必须首先启动从属接口
      nmclicon up bond-slave-eth0
      nmclicon up bond-slave-eth1
      
    3. 启动绑定

      nmclicon up mybond0
      

team

创建team

  1. 创建网络组接口

    nmcli con add type team con-name team0 ifname team0 config '{"runner":{"name":"activebackup"}}' ipv4.method manual ipv4.addressed 192.168.32.60/24 connection.autoconnect yes
    
    创建类型team,名字team0,接口team0,JSON指定方式,ip手工方式,ip设置,自动链接
    
    • JSON指定runner方式
      格式:'{"runner": {"name": "METHOD"}}'
      METHOD可以是broadcast,roundrobin,activebackup,loadbalance, lacp
  2. 创建port接口

    nmclicon con add on-name team0-eth0 type team-slave ifname eth0 master team0
    
    nmclicon con add on-name team0-eth1 type team-slave ifname eth1 master team0
    
  3. 启用

    nmcli connection up team0-eth0 开启eth0
    nmcli connection up team0-eth1 开启eh1
    
  4. 查看

    nmcli connection 查看
    teamdctl team0 state 查看组内活动接口
    

切换模式直接改文件

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

我这里改为广播模式{"runner":{"name":"boardcast"}}
  1. 关闭接口

    nmcli connection down team0

  2. 重新加载一下

    nmcli connection reload

  3. 需重新开启三接口

    nmcli connection up team0-eth0 开启eth0
    nmcli connection up team0-eth1 开启eh1
    
  4. 配合ping可查看

    ping 192.168.32.60
    nmcli dev disconnect eth0 断开链接测试
    

删除team

  1. 关闭team0

    nmcli connection down team0
    
  2. 查看状态

    teamdctl team0 state
    nmcli connection
    
  3. 删除端口

    nmcli connection delete team0或
    nmcli connection delete team-eth0
    nmcli connection delete team-eth1
    
  4. 还可直接删配置文件,建议用nmcli删除

    rm -rf ifcfg-team0
    

注意事项

    启动网络组接口不会自动启动网络组中的port接口
    启动网络组接口中的port接口总会自动启动网络组接口
    禁用网络组接口会自动禁用网络组中的port接口
    没有port接口的网络组接口可以启动静态IP连接
    启用DHCP连接时,没有port接口的网络组会等待port接口的加入

猜你喜欢

转载自blog.csdn.net/weixin_40001704/article/details/82147719
今日推荐