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 ManagerLoaded: 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.com1?: [LOCALHOST]                                         pmtu 15001:  no reply2:  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 reachedResume: 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/24gateway
# 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.5hostname
# 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

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

Linux基础学习之Day12-网络管理基础相关推荐

  1. 关于Linux系统学习心得总结(基础篇)

    关于Linux系统学习心得总结 1,什么是Linux系统 简单来说,Linux就是一个操作系统 Linux是一套免费使用和自由传播的类Unix操作系统,是一个多用户.多任务.支持多线程和多CPU的操作 ...

  2. 学习python需要什么基础-学习python需要什么基础

    Python编程基础知识的学习最终目的是应用于项目中,因此,项目实战训练必不可少.下面小编给大家介绍学习python需要什么基础,一起来看看吧. 学习python需要掌握的基础 1.要有决心 做任何事 ...

  3. 学习python需要什么基础-学习Python需要哪些基础知识?

    今天是腊月二十七,给各位朋友拜个早年! Python学习可以分为几个阶段,入门.进阶.应用. 先说说入门需要哪些基本的知识储备. Python因为易于学习的特点,入门很简单,掌握基本的Python知识 ...

  4. 学习python需要什么基础-学习python需要什么基础吗?老男孩Python

    在很多人的记忆中python是一门非常简单的编程语言,也是很多转行人员的首选,不过因为大家对python不是很了解,所以比较关心学习python需要什么基础?其实python没有基础也是可以学习的,只 ...

  5. python基础学习_转行零基础该如何学习python?很庆幸,三年前的我选对了

    这似乎是一个如荼如火的行业,对于一直在思考着转行的我,提供了一个不错的方向. 这个行业当然就是python程序员,真正开始决定转行是在24岁的时候,到现在已经有三年多了,我从零开始,每天用业余两个小时 ...

  6. 学python需要什么基础-学习python需要什么基础

    Python编程基础知识的学习最终目的是应用于项目中,因此,项目实战训练必不可少.下面小编给大家介绍学习python需要什么基础,一起来看看吧. 学习python需要掌握的基础 1.要有决心 做任何事 ...

  7. 学python需要什么基础-学习Python需要哪些基础知识?

    今天是腊月二十七,给各位朋友拜个早年! Python学习可以分为几个阶段,入门.进阶.应用. 先说说入门需要哪些基本的知识储备. Python因为易于学习的特点,入门很简单,掌握基本的Python知识 ...

  8. 计算机应用基础学习网站,《计算机应用基础》学习手册.pdf

    <计算机应用基础>学习手册 一.课程介绍 1. 教学目标和教学内容 <计算机应用基础>作为大学新生入学后的第一门计算 机课程,主要教学目标是"普及计算机基础知识.培养 ...

  9. Mendix敏捷开发零基础学习《一》-基础(数据模型、页面创建、数据源绑定、属性绑定、关系型数据模型)

    目录结构 Mendix敏捷开发零基础学习<一> 一.环境依赖 二.业务场景 三.需求分析 四.项目实现 1.创建项目 2.创建数据模型 3.创建页面 4.数据源绑定 5.属性绑定 6.数据 ...

  10. python基础学习教程:Python基础语法

    Python 语言与 Perl,C 和 Java 等语言有许多相似之处.但是,也存在一些差异. 在本章中我们将来学习 Python 的基础语法,让你快速学会 Python 编程. 第一个 Python ...

最新文章

  1. OSD的主要实现方法和类型(转)
  2. mac中用命令行运行mysql
  3. 如何开启mysql的慢日志_mysql如何开启慢查询日志?
  4. 设计模式之Protocol实现代理模式
  5. 出入口控制系统工程设计规范_【理论冲刺】传说中的隐藏书目——《公园设计规范》...
  6. 《怪物猎人》战斗核心设计分析
  7. 使用CodeFirst创建并更新数据库
  8. L. Continuous Intervals(单调栈 + 线段树 + 思维)
  9. html 字体显示倒影,用CSS3的box-reflect设置文字倒影效果的方法讲解
  10. 用到的python组件
  11. 使用js来实现模拟无刷新文件上传。
  12. 在桌面养只捣蛋鹅,让 Desktop Goose 陪你一起用Mac
  13. 117. php empty()函数坑
  14. chariot iperf使用_iperf局域网性能工具
  15. Colab+Google使用教程
  16. 护眼色RGB值和HSV值
  17. 不是因为寂寞才想你计算机谱子,不是因为寂寞才想你曲谱
  18. Boson Netsim 思科路由器仿真 静态路由表、RIP、OSPF
  19. 中值滤波Median filtering
  20. SHEPWM特定消谐选择性谐波消除

热门文章

  1. DOM编程-获取文本框的value
  2. Word处理控件Aspose.Words功能演示:使用 Java 在 Word 中添加或更新目录
  3. 闵可夫斯基引擎Minkowski Engine
  4. 笔记:linux-c Zxing-cpp解析图片中的二维码
  5. 修改彩虹六号围攻地区服务器,彩虹六号围攻
  6. java算数我最棒教程_【12月3日】那菇香算数我最棒之-蘑菇小商人
  7. 某些material英文翻译
  8. CAEmitterLayer粒子发射器的神奇效果
  9. 利用mapgis6.7进行图形精校正
  10. 乐高 | 统一运营平台架构设计