转载链接 :
Linux下查看网卡信息及确定网卡位置
https://blog.51cto.com/liuqun/1981915

查看Linux网卡访问流量的方法

安装iftop命令(基于epel源)

[root@node ~]#yum install -y iftop
[root@node ~]#iftop -i eth0 #查看某个IP的访问流量的大小,进入后可按T键观察IP的总流量大小
[root@node ~]#iptables -I INPUT -p tcp -s 192.168.8.81 --dport 80 -j DROP #将访问流量大的IP进行封禁
[root@node ~]#iptables -I INPUT -p tcp -s 192.168.8.81 --dport 443 -j DROP
[root@node ~]#iptables -vnL
Chain INPUT (policy ACCEPT 6 packets, 428 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 DROP       tcp  --  *      *       192.168.8.81         0.0.0.0/0            tcp dpt:443
    0     0 DROP       tcp  --  *      *       192.168.8.81         0.0.0.0/0            tcp dpt:80
[root@node ~]#iptables-save > /etc/sysconfig/iptables
[root@node ~]#vim /etc/rc.local
iptables-restore <  /etc/sysconfig/iptables
[root@node ~]#chmod a+x /etc/rc.local
#删除iptables规则
[root@node ~]#iptables -D INPUT -p tcp -s 192.168.8.81 --dport 80 -j DROP #删除iptables规则

网络状态查看工具

1、介绍两个网络工具net-tools和iproute

net-tools,一般用于centOS之前的版本;iproute2,centOS7之后的发行版本

2、网络接口命名参数修改

网卡命名规则受biosdevname和net.ifnames两个参数影响
如果你的网卡名不是eth0怎么设置为eth0呢?

(1)编辑/etc/default/grub文件
增加biosdevname = 0 net.ifnames=0
(2)更新grub
grub是系统再刚开始启动的时候,它引导系统内核的工具,跟启动菜单一样,我们可以设置一些参数,让它传递到我们的内核。

grub2-mkconfig -o /boot/grub2/grub.cfg

(3)重启

reboot

重启后网卡的名称便发生了改变;

修改网卡成其它名称:
在这里插入图片描述

3. 查看网络情况

(1)查看物理网卡连接情况
可以使用命令:

mii-tool eth0

如果网线没有接好的话,会显示no link
在这里插入图片描述
如果接好网线的话,会显示link ok
在这里插入图片描述
(2)查看网关(路由)命令
我们可以使用命令route命令查看网关,使用-n参数表示不解析主机名
在这里插入图片描述

4. 修改网络配置

(1)设置网卡的IP地址
使用命令ifconfig <接口> <IP地址> netmask [子网掩码]
原始的IP地址是192.168.123.159
在这里插入图片描述
设置网卡新的IP地址192.168.123.158
(2)启动网卡
使用命令ifup 接口

ifconfig eth0 up  /*常规写法*/
ifup eth0  /*简写*/

(3)关闭网卡
使用命令ifdown 接口,同样的道理可以写成:

ifconfig eth0 down
ifdown eth0

(4)添加默认网关
这个过程需要分两步:
我们可以看到目前系统初始网关是192.168.123.1,
在这里插入图片描述
第一步:我们修改默认网关,需要先把原网关删除掉,可以使用命令:

route del default gw 192.168.123.1

在这里插入图片描述
这里我们已经把原网关删除了,eth0网关现在是0.0.0.0
第二步:再添加新的网关,使用命令:
这样我们就把网关改成了192.168.123.2

(5)添加明细路由
使用命令ruote add -host 指定ip gw 网关ip
我们想访问某个主机的IP,它的IP地址是10.0.0.1,那么我们就需要使用命令:

router add -host 10.0.0.1 gw 192.168.123.2   

在这里插入图片描述
当主机访问ip10.0.0.1时,数据包走网关192.168.123.2

(6)给指定网段添加明细路由
使用命令route add -net 指定网段 netmask 子网掩码 gw 网关ip
当我们想访问网段192.168.0.0这个网段时,数据包走网关192.168.123.3,那么我们就要使用命令:

route add -net 192.168.0.0 netmask 255.255.255.0 gw 192.168.123.3

在这里插入图片描述

网络故障排除命令

我们配置好IP地址,设置好相应的服务之后呢,通常会出现一些故障,如何进行故障排除呢?常见的故障排除命令有:

(1) ping
监测当前主机与目标主机是否畅通,如果ping不通,说明网络可能中断或者对方有防火墙。可以对IP进行ping操作,也可以对域名直接进行ping操作。
(2)traceroute
检测当前主机到目标主机的状况,追踪服务器每一跳的质量,追踪当前主机到目标主机的网络状态。我们通常会添加一个参数-w意思是等待的时间,因为本机到达某个ip长时间没有响应,我们不想等它,只给它一个固定等待时间,超过了就停止等待。

traceroute -w 1 baidu.com  /*最多等待1秒*/

中间路由对应的IP地址会显示出来,以及它的延时是一个什么情况
中间主机如果不支持traceroute追踪,就会以* * *的方式显示。
(3) mtr
如果你想看到更详细的追踪数据,mtr是My TraceRoute的简写,可以实时查看丢包率等其他数据。
使用命令:

mtr baidu.com

(4)nslookup
把域名解析成ip地址,可以使用命令:

nslookup baidu.com

我们就可以查看是哪一个域名服务器进行的域名解析,以及域名对应的IP地址是多少;

(5)telnet
如果网络是畅通的,主机能连接,但是服务用不了,使用telnet检测端口的状态,使用命令telnet检测端口是否畅通:

telnet baidu.com 80

如果本地主机与对方主机端口是可以的状态,则显示情况如下
(6) tcpdump
更细致的分析数据包,使用网络抓包工具tcpdump

  • 参数-i any表示要抓取所有网卡里的数据包,
  • 参数-n数据包如果有域名的话,解析成ip的形式
  • 参数port 端口抓取指定端口
tcpdump -i any -n port 80  /*监听任何主机的80端口*/

如果捕获到了数据包,就会详细的显示出来;
捕获某个主机,可以使用参数host

tcpdump -i any -n host 10.0.0.1

从我的主机到10.0.0.1所有的TCP的通信,都能被tcpdump所捕获下来。如果又想指定主机又想注定端口,可以在命令增加一个and参数:

tcpdump -i any -n host 10.0.0.1 and port 80

如果想把捕获的信息进行保存,可以再添加一个-w参数:

tcpdump -i any -n host 10.0.0.1 and port 80 -w /tmp/filename

修改主机名
临时修改主机名

hostname 新昵称

如果想让主机永久生效,可使用命令:

hostnamectl set-hostname 新昵称

如果设置了新的主机名,要在/etc/hosts里声明,否则系统启动的时候在某个服务上会卡住,需要把主机名和对应的IP地址的关系写在上面。

通过mii-tool和ethtool工具来调整网卡的速度、协商方式(双工)等,这样能提高网卡的效率;

mii-tool 介绍

有时网卡需要配置协商方式,比如10/100/1000M的网卡半双工、全双工、自动协商的配置。但大多数的网络设备是不用我们来修改协商,因为大多数网 络设置接入的时候,都采用自动协商来解决相互通信的问题。但在有的情况下,需要我们手动来设置网卡的协商方式;mii-tool 就是能指定网卡的协商方式。

mii-tool 更改网络接口协商的方法;

# mii-tool --help
usage: mii-tool [-VvRrwl] [-A media,... | -F media] [interface ...]
       -V, --version display version information
       -v, --verbose more verbose output              #显示网络接口的信息
       -R, --reset MII to poweron state              #重设MII到开启状态
       -r, --restart autonegotiation                      #重启自动协商模式,即恢复自动协商模式
       -w, --watch monitor for link status changes        #查看网络接口连接的状态变化
       -l, --log with -w, write events to syslog                               #写入事件到系统日志
       -A, --advertise=media,... advertise only specified media            #指令特定的网络接口
       -F, --force=media force specified media technology            #更改网络接口协商方式,参数是下面的media
media: 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD,
       (to advertise both HD and FD) 100baseTx, 10baseT

查看网络接口的协商状态

# mii-tool -v eth0

eth0: negotiated 100baseTx-FD, link ok
product info: vendor 00:00:00, model 0 rev 0
basic mode:   autonegotiation enabled
basic status: autonegotiation complete, link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
link partner: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD flow-control

注:上面的例子,我们可以看得到是自动协商。

恢复网卡的自适应工作模式

#mii-tool -r eth0

更改网络接口的协商方式,我们要用到-F选项,后面可以接 100baseT4, 100baseTx-FD, 100baseTx-HD, 10baseT-FD, 10baseT-HD等参数;

把网络接口eth0改为 1000Mb/s全双工的模式

# mii-tool -F 100baseTx-FD

#mii-tool -v eth0

eth0: 100 Mbit, full duplex, link ok
product info: vendor 00:00:00, model 0 rev 0
basic mode:   100 Mbit, full duplex
basic status: link ok
capabilities: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD
advertising: 100baseTx-FD 100baseTx-HD 10baseT-FD 10baseT-HD

使用ethtool工具修改:

# ethtool -s eth0 speed 100 duplex full

ethtool 是用来显示和更改网卡设置的工具

ethtool 显示网络端口设置功能
ethtool ethx     #查询ethx网口基本设置
ethtool –h        #显示ethtool的命令帮助(help)
ethtool –i ethx    #查询ethx网口的相关信息
ethtool –d ethx    #查询ethx网口注册性信息
ethtool –r ethx    #重置ethx网口到自适应模式

ethtool –S ethx    #查询ethX网口收发包统计
ethtool –s ethx   [speed 10|100|1000] [duplex half|full] [autoneg on|off] [port tp|aui|bnc|mii] 设置网口类型

从多个网络设备中确定某个具体的设备(闪烁的LED网卡端口)

假设一台机器有四个以太网卡适配器,并要确定一个特定的以太网卡的物理端口。 (例如eth0)。使用Ethtool的选项- p,它将使物理端口对应的LED闪烁。

# ethtool -p eth0

教你更改 RHEL7 或者 CentOS 7 的网卡名称

一、网卡配置文件名称重命名为eth0

也可以改为其他名称

[root@Jaking11 ~]# ifconfig
ens33: flags=4163mtu 1500
        inet 192.168.10.11  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::250:56ff:fe29:eae  prefixlen 64  scopeid 0x20
        ether 00:50:56:29:0e:ae  txqueuelen 1000  (Ethernet)
        RX packets 132  bytes 14492 (14.1 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 115  bytes 13105 (12.7 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 140  bytes 11204 (10.9 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 140  bytes 11204 (10.9 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


[root@Jaking11 ~]# cd /etc/sysconfig/network-scripts/
[root@Jaking11 network-scripts]# ls
ifcfg-ens33  ifdown-ppp       ifup-eth     ifup-sit
ifcfg-lo     ifdown-routes    ifup-ippp    ifup-Team
ifdown       ifdown-sit       ifup-ipv6    ifup-TeamPort
ifdown-bnep  ifdown-Team      ifup-isdn    ifup-tunnel
ifdown-eth   ifdown-TeamPort  ifup-plip    ifup-wireless
ifdown-ippp  ifdown-tunnel    ifup-plusb   init.ipv6-global
ifdown-ipv6  ifup             ifup-post    network-functions
ifdown-isdn  ifup-aliases     ifup-ppp     network-functions-ipv6
ifdown-post  ifup-bnep        ifup-routes
[root@Jaking11 network-scripts]# mv ifcfg-ens33 ifcfg-eth0
[root@Jaking11 network-scripts]# vim ifcfg-eth0
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
NAME=eth0
DEVICE=eth0
ONBOOT=yes
IPADDR=192.168.10.11
GATEWAY=192.168.10.2
NETMASK=255.255.255.0

二、禁用网卡命名规则

此功能通过

/etc/default/grub

文件来控制,要禁用此功能,在文件中加入

"net.ifnames=0  biosdevname=0"

即可

[root@Jaking11 network-scripts]# vim /etc/default/grub

GRUB_TIMEOUT=5
GRUB_DISTRIBUTOR="$(sed 's, release .*$,,g' /etc/system-release)"
GRUB_DEFAULT=saved
GRUB_DISABLE_SUBMENU=true
GRUB_TERMINAL_OUTPUT="console"
GRUB_CMDLINE_LINUX="crashkernel=auto rd.lvm.lv=centos/root rd.lvm.lv=centos/swap
 rhgb quiet net.ifnames=0 biosdevname=0"
GRUB_DISABLE_RECOVERY="true"

三、添加udev网卡规则

在/etc/udev/rules.d目录中创建一个网卡规则70-persistent-net.rules文件,在文件中写入以下参数:

SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="需要修改名称的网卡MAC地址",ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"

参考配置:

[root@Jaking11 rules.d]# vim 70-persistent-net.rules
SUBSYSTEM=="net",ACTION=="add",DRIVERS=="?*",ATTR{address}=="00:50:56:29:0e:ae",
ATTR{type}=="1" ,KERNEL=="eth*",NAME="eth0"

执行grub2-mkconfig -o /boot/grub2/grub.cfg命令生成更新grub配置参数

[root@Jaking11 rules.d]# grub2-mkconfig -o /boot/grub2/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-957.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-957.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-fe49b659ccb940fa8d260a5897c0b08a
Found initrd image: /boot/initramfs-0-rescue-fe49b659ccb940fa8d260a5897c0b08a.img
done

重启Linux系统后验证网卡名称是否更改成功

[root@Jaking11 ~]# ifconfig
eth0: flags=4163mtu 1500
        inet 192.168.10.11  netmask 255.255.255.0  broadcast 192.168.10.255
        inet6 fe80::250:56ff:fe29:eae  prefixlen 64  scopeid 0x20
        ether 00:50:56:29:0e:ae  txqueuelen 1000  (Ethernet)
        RX packets 86  bytes 10889 (10.6 KiB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 95  bytes 10828 (10.5 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

总 结

以上就是更改 RHEL7 或者 CentOS 7 的网卡名称的方法,最后看到 eth0 说明网卡名称更改成功!

参考链接 :

教你更改 RHEL7 或者 CentOS 7 的网卡名称 :https://mp.weixin.qq.com/s/JEOwT3T3ROUOuAC9pDaO-Q

Linux下查看网卡信息及确定网卡位置 https://blog.51cto.com/liuqun/1981915

Linux学习笔记(八)网络管理 :https://www.jianshu.com/p/9a141eea2047

查看Linux网卡访问流量的方法 https://blog.51cto.com/14163901/2451900

GitHub 加速计划 / li / linux-dash
10.39 K
1.2 K
下载
A beautiful web dashboard for Linux
最近提交(Master分支:2 个月前 )
186a802e added ecosystem file for PM2 4 年前
5def40a3 Add host customization support for the NodeJS version 4 年前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐