Linux基础学习之Day12-网络管理基础

Linux基础学习之从入门到精通Day12

网络管理基础

使用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@~]# nmcli connection add con-name enp2s0-auto autoconnect yes ifname enp2s0 type ethernet
[root@~]# 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@~]# nmcli connection show enp2s0-auto |grep ipv4.me
ipv4.method:                            auto
[root@~]# nmcli connection show enp2s0-gun |grep ipv4.me
ipv4.method:                            manual
[root@~]# 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@~]# nmcli connection up enp2s0-auto
[root@~]# nmcli connection delete enp2s0-auto
[root@~]# nmcli connection modify enp2s0-gun ipv4.method a
[root@~]# nmcli connection modify enp2s0-gun ipv4.method m
[root@~]# nmcli connection modify enp2s0-gun +ipv4.addresses 20.20.20.20/24
[root@~]# nmcli connection modify enp2s0-gun +ipv4.dns 114.114.114.114
[root@~]# 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@~]# 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@~]# nmcli con reload
[root@~]# 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 tianyun.example.com
# cat /etc/hostname 
# reboot
  1. 配置名字解析Configuring name resolution
a. hosts
[root@~]# 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@~]# getent hosts www.baidu.com
119.75.218.70   www.baidu.com

b. resolv.conf DNS

[root@~]# cat /etc/resolv.conf 
# Generated by NetworkManager
nameserver 114.114.114.114
[root@~]# yum -y install bind-utils
[root@~]# 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@~]# ip a
[root@~]# ip a s eth0
[root@~]# ip route
[root@~]# ip neigh 
[root@~]# hostname
[root@~]# ping www.baidu.com
[root@~]# ping -c2 www.baidu.com
[root@~]# ip -s link show eth0
[root@~]# traceroute www.sina.com
[root@~]# 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@~]# ip a
2: enp1s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast master br0 state DOWN qlen 1000
如果在连接禁用 ONBOOT=no 以上的信息不真实

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

临时配置网络信息

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 tianyun.cc.com

配置文件:

  #vim  /etc/sysconfig/network-scripts/ifcfg-eth0  
DEVICE=eth0   设备名称
【NAME="System eth0" 设备名称】 可以不存在
BOOTPROTO=none     启动协议  获取ip地址的方式  static、none ==>静态获取 dhcp 动态      
NM_CONTROLLED=no 默认是yes  关闭network-manager
ONBOOT=yes                 开机启动
TYPE=Ethernet               以太网类型         
HWADDR=00:0c:29:8e:a5:d3   mac地址
IPADDR=172.16.80.252 ip地址   
NETMASK=255.255.0.0 掩码
PREFIX =24 
NETWORK=172.16.0.0
GATEWAY=172.16.80.1  网关
dns               domain name server    域名解析
帮助文档:
  #vim /usr/share/doc/initscripts-9.03.38/sysconfig.txt

网关:网络的关卡(出口),一般设置到路由器上
IP转发:
临时

  # echo 1 > /proc/sys/net/ipv4/ip_forward
    永久 
  

vim /etc/sysctl.conf 修改内核参数

net.ipv4.ip_forward = 1

sysctl -p //立即生效

dns : 域名服务器,其中一种是解析域名到Ip地址
dns配置文件(客户端)

#vim /etc/resolv.conf
nameserver 172.16.70.250

查看mac

  #arping  172.16.70.250

扫描ip

#nmap  -v  -sP  172.16.70.0/24

扫描端口

#nmap -v -A 172.16.70.0/24

重启网络服务:

   #systemctl restart network   //rhel7
   #/etc/init.d/network restart   //rhel5/6
   #service  network  restart     //rhel5/6
  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                             :::*     
  1. Show UDP sockets (所有状态)
[alice@tianyun ~]$ 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                            :::*   

CentOS7修改网卡为eth0

已经安装CentOS7

  1. 修改网卡配置文件
# mv ifcfg-eno16777728 ifcfg-eth0          
# vim ifcfg-eth0
DEVICE=eth0                                   
NAME=eth0   
| 命令选项 | struct ethtool_ops成员函数 | Ethtool命令显示参数的来源(以网卡驱动BNX2为例) |
| 无 -s | get_settingsget_wol get_msglevel get_link set_settings set_wol set_msglevel | 从网卡寄存器中获得网卡速度等信息,可配置。 |
| -a -A | get_pauseparam set_pauseparam | 从网卡寄存器中获得Autonegotiate/RX/TX模块的状态:on oroff,可配置。 |
| -c -C | get_coalesceset_coalesce | 从网卡寄存器中获得coalescing参数:TX/RX一个数据包后,推迟发生TX/RX中断的时间(us)/数据包个数。—减小该值可以提高网卡的响应时间。 当rx-usecs&rx-frames同时被设为0时,RX中断停止。 当tx-usecs&tx-frames同时被设为0时,TX中断停止。 |
| -g -G | get_ringparam set_ringparam | 除当前TX/RX ring的值(从网卡寄存器中读取得到,可配置)外,其它为网卡bnx2自己固定的信息。 |
| -k -K | get_rx_csumget_tx_csum get_sg get_tso set_rx_csum set_tx_csum set_sg set_tso | 显示信息从保存该状态的变量中读取得到,没有对应的寄存器。因此,TX/RX校验等模块一直处于on状态,实际上是无法修改的。 |
| -i | get_drvinfo[self_test_count, get_stats_coun,t get_regs_len, get_eeprom_len] | 网卡bnx2自己固定的信息,如:
——————————————————–
driver: bnx2 version: 1.4.30 firmware-version: 1.8.0.5 bus-info: 0000:09:00.0
——————————————————– |
| -d | get_drvinfoget_regs | 不支持,即bnx2中没有实现函数get_regs。 |
| -e -E | get_eepromset_eeprom | 不支持,即bnx2中没有实现函数get_eeprom。 |
| -r | nway_reset | 配置网卡MII_BMCR寄存器,重启Auto negotiation模块。 |
| -p | phys_id | 配置网卡BNX2_EMAC_LED寄存器,实现LED闪功能。 |
| -t | self_test | 通过配置网卡寄存器,逐一测试网卡的硬件模块:registers,memory,loopback,Link stat,interrupt。 |
| -S | get_ethtool_stats | 显示信息来源于网卡驱动中的结构体变量stats_blk。(网卡通过DMA方式,将寄存器BNX2_HC_STATISTICS _ADDR_L和BNX2_HC_STATISTICS_ADDR_H中的数据实时地读取到结构体变量struct statistics_block *stats_blk中。) —显示的数据都是从网卡寄存器中统计得到的,各项的含义需查询网卡(芯片)手册。 |

实例

查看机器上网卡的速度:百兆还是千兆,请输入:
ethool eth0操作完毕后,输出信息中Speed:这一项就指示了网卡的速度。停止网卡的发送模块TX,请输入:
ethtool -A tx off eth0操作完毕后,可输入ethtool -a eth0,查看tx模块是否已被停止。查看网卡eth0采用了何种驱动,请输入:
ethtool -i eth0操作完毕后,显示 driver: bnx2;version: 1.4.30 等信息。关闭网卡对收到的数据包的校验功能,请输入:
ethtool -K eth0 rx off操作完毕后,可输入ethtool –k eth0,查看校验功能是否已被停止。如果机器上安装了两块网卡,那么eth0对应着哪块网卡呢?输入:
ethtool -p eth0 10操作完毕后,看哪块网卡的led灯在闪,eth0就对应着哪块网卡。查看网卡,在接收/发送数据时,有没有出错?请输入:
ethtool –S eth0将千兆网卡的速度降为百兆,请输入:
ethtool -s eth0 speed 100

还可以查看机器是否插网线

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值