linux网络接口
‘壹’ linux中使用nmcli配置网络
以前都是使用ifconfig来配置网络,今天开始尝试使用nmcli 。
1、网络接口名称
centos7或者红帽7中,以en开头标识以太网,之前的版本是eth开头。同时,wl标识waln接口,ww标识wwan接口。
接下里就是网卡类型, p代表pci物理位置,o代表板载,s代表热插拔。最后数字表示索引、id或端口。 比如笔者的虚拟机上enp0s3,pci网卡slot3。
如果无法确定固定名称则采用传统的ethn的方式。
2、查看网络配置
使用ip addr显示ip地址,ip addr show eth0显示网卡eth0 , ip -s link show eth0 显示连接状态,可用查看到数据包。netstat -i也可以罗列网卡并查看数据流量。
3、查看路由与排查
ip route检查系统路由表,
ping网关地址。ping -c4是ping 4次, timeout 4则是超时时间4秒。
tracepath或者traceroute命令追踪到目标主机的网络状态。
4、端口与服务
TCP服务使用套接字.socket作为通信的端点,其由IP地址、协议和端口组成。服务器通常监听标准端口,客户端使用随机可用端口。标准端口在/etc/services中列出。
查看监听端口:ss和netstat命令。
5、使用nmcli查看网络
networkmanager是监控和管理网络的守护进程,可用通过命令行与图形界面来与networkmanager通信,并将配置文件保存在/etc/sysconfig/network-scripts目录中。
使用nmcli查看网络信息:
nmcli con show 查看网络接口
nmcli con show --active 查看活动网络接口
nmcli con show "enp0s3" 查看enp0s3网络的详情信息
nmcli device status 查看设备的信息
nmcli device show enp0s3 查看 enp0s3设备的信息
6、使用nmcli配置网络
可以为网络设备配置多个网络连接(配置文件),但是一次只能由一个保持活动状态。
创建一个"default"新连接,并使用dhcp获取网络。
nmcli con add con-name "default" type ethernet ifname eth0
创建一个静态连接,配置静态IP,并设置不自动连接。
nmcli con add con-name "static" type ethernet ifname eth0 autoconnect no ip4 172.25.0.12/24 gw4 172.25.0.254
更改为静态链接。
nmcli con up "static"
更改为dhcp链接。
nmcli con up "default"
查看使用信息。
nmcli con add help
修改配置,过多就不阐述了。
nmcli con mod
nmcli 命令摘要:
7、编辑网络配置文件
接口配置文件时控制单个网络设备的软件接口,网络设备可以有多个配置文件,但是只有一个时激活状态。
ifcfg配置文件选项(辅助IP地址将配置文件中的选项添加1)
配置过程:
a、修改 ifcfg配置文件
b、使用nmcli命令使配置生效或者重启进程
nmcli con reload
nmcli con down “ID” ,nmcli con up “ID”
c、通过ping验证网络配置
8、主机名和名称解析
hostname 查看主机名
hostnamectl status 查看主机信息
hostnamectl set-hostname 设置主机名
静态主机名储存在/etc/hostname文件中。名称解析用于将主机名转为IP地址,反之亦可,在/etc/hosts中定义。
可用使用getent hosts your_hostname,利用/etc/hosts来测试主机名解析。
如果/etc/hosts中没有,则会查找/etc/ resolv.conf文件。
‘贰’ linux哪些接口稳定
Linux提供了多种接口,其中最稳定的接口包括:
1. POSIX接口:POSIX是一种标准,它定义了操作系统应该如何与应用程序进行交互。POSIX接口是Linux系统中最稳定的接口,它可以让应用程序在不同的Linux发行版之间进行跨平台移植。
2. System V接口:System V接口是一种稳定的接口,它定义了Linux系统中的标准函数库,可以让应用程序在不同的Linux发行版之间进行跨平台移植。
3. X/Open接口:X/Open接口是一种稳定的接口,它定义了Linux系统中的标准函数库,可以让应用程序在不同的Linux发行版之间进行跨平台移植。
4. BSD接口:BSD接口是一种稳定的接口,它定义了Linux系统中
‘叁’ Linux网络子接口配置
方式一:临时方式(重启则失效):
添加网络子接口:
ifconfig eth0:1 10.1.77.87 netmask 255.255.255.0
除子接口:
ifconfig eth0:1 10.1.77.87 netmask 255.255.255.0 down
注:在/etc/rc.local中配置该命令可以每次重启PC时均执行次命令配置子网络
方式二:
修改配置文件,永久生效
‘肆’ linux系统下,如何永久设置网络接口的ip地址
图形化下
这里就不说了吧,但是记住做上面的那两个勾 ,自动连接一定要勾上
命令行的如下:
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0#网卡设备名称
ONBOOT=yes#启动时是否激活 yes | no
BOOTPROTO=static#协议类型 dhcp bootp none
IPADDR=192.168.1.90#网络IP地址
NETMASK=255.255.255.0#网络子网地址
GATEWAY=192.168.1.1#网关地址
BROADCAST=192.168.1.255#广播地址
HWADDR=00:0C:29:FE:1A:09#网卡MAC地址
TYPE=Ethernet#网卡类型为以太网
注:在修改文件ifcfg-ethx后还需要重新导入文件才能生效,具体命令如下:
[root@localhost ~]# service network restart #(linux 6.X用此命令)
[root@localhost ~]# systemctl restart network #(linux 7.X用此命令)
‘伍’ linux包含哪些模块
一、进程调度模块
Linux以进程作为系统资源分配的基本单位,并采用动态优先级的进程高级算法,保证各个进程使用处理机的合理性。进程调度模块主要是对进程使用的处理机进行管理和控制。
二、进程间通信模块
进程间通信主要用于控制不同进程之间在用户空间的同步、数据共享和交换。由于不同的用户进程拥有不同的进程空间,因此进程间的通信要借助于内核的中转来实现。一般情况下,当一个进程等待硬件操作完成时,会被挂起。当硬件操作完成,进程被恢复执行,而协调这个过程的就是进程间的通信机制。
进程间通信模块保证了Linux支持多种进程间通信机制,包括管道、命名管道、消息队列、信号量和共享内存等。
三、内存管理模块
Linux的内存管理模块采用先进的虚拟存储机制,实现对多进程的存储管理。它提供了十分可靠的存储保护措施,对进程赋予不同的权限,用户不能直接访问系统的程序和数据,保证了系统的安全性。同时,为每个用户进程分配一个相互独立的虚拟地址空间。
四、文件系统模块
Linux的文件系统模块采用先进的虚拟文件系统技术,屏蔽了各种文件系统的差别,为处理各种不同的文件系统提供了统一的接口,支持多种不同的物理文件系统达90多种。同时,Linux把各种硬件设备看作一种特殊的文件来处理,用管理文件的方法管理设备,非常方便、有效。
五、网络接口模块
Linux具有最强大的网络功能。网络接口模块通过套接字机制实现计算机之间的网络通信,并采用网络层次模型提供对多种网络协议和网络硬件设备的支持。
网络接口提供了对各种网络标准的实现和各种网络硬件的支持。网络接口一般分为网络协议和网络驱动程序。网络协议部分负责实现每一种可能的网络传输协议。网络设备驱动程序则主要负责与硬件设备进行通信,每一种可能的网络硬件设备都有相应的设备驱动程序。
‘陆’ 在linux下 怎么查看网络接口的名字
1、第一步在电脑上打开xshell,建立连接,输入主机名,用户名和密码,如下图所示:
2、第二步可以看到已经远程连接到linux系统服务器了,如下图所示:
3、第三步输入“ifconfig-a”命令,来查看linux系统ip,如下图所示:
4、第四步按回车键之后,可以查看到linux系统的ip地址,在eth0的下方inet旁边就是内网ip地址,如下图所示:
5、第五步也可以看一下按回车键的信息,eth0是网卡名称,lo是本地环回接口,netmask是本机掩码,如下图所示:
‘柒’ Windows、Linux和路由器的网络子接口-虚拟IP
前段时间在调试时,将外网接入内部局域网,然后使用向日葵远程连接调试。Windows一个网络适配器只能设置一个IP地址,后面才发现可以通过网络子接口来设置虚拟IP,内部网络通过正常的IP地址通信,外部网络通过子接口来进行通信,即一个物理网口上连接两个子网。Windows可以设置网络子接口,笔者就延申到Linux系统上,总结在不同平台设置网络子接口的方法。需要明确的是,虚拟IP的数据还是经过真实的物理网络接口。简而言之,网卡设备都有一个MAC地址,但是却可以有多个网络层IP地址。
本文以Windows10和CentOS8为例。
Windows平台上:
微软官网对于网络子接口有这样的描述:
1)一个逻辑IP网络正在使用中,并且此计算机需要使用多个IP地址才能在该网络上进行通信。
2)正在使用多个逻辑IP网络,并且此计算机需要一个不同的IP地址才能与每个不同的逻辑IP网络进行通信。
当不使用“常规”选项卡上的“自动获取IP地址”时,才可以使用“高级TCP/IP设置”进行此网络连接,来完成高级IP寻址。在设置里面,Interface metric 接口度量标准(跃点数)可以设置该接口的优先级,接口度量标准的值越小,表示使用该接口的优先级越高。自动度量标准(自动跃点),最高速度的接口具有最低的接口度量值,优先级越高。
Linux平台上:
Linux平台上虚拟ip基本上都用于高可用的架构上,比如keepalived就是通过托管VIP里完成飘逸,可以参考笔者以前的文章-Keepalived让树莓派也可以VIP漂移。其实这一篇文章对于keepalived也会有很好的理解了。看一下文章里面的Keepalived后通过ip addr查看的结果。
VRRP协议来通信完成心跳检测,然后使用辅助IP的ip addr add 来添加虚拟IP地址,主用不在线就del掉VIP,然后在从机上add 同样的VIP。为什么不是ifconfig命令呢,那就需要你仔细看看关键信息找区别了,如果你安装了的话可以使用ifconfig来确定是否能够查看到VIP。
接下里我们就看看在Linux中创建虚拟IP有两种方法,分别是:别名IP(IP aliases)和辅助IP(secondary IP addresses)。
1、别名IP是通过ifconfig命令去创建和操作的虚拟ip。
sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 up
删除别名IP,将up改为down。
sudo ifconfig enp0s3:1 192.168.31.5 broadcast 192.168.31.255 netmask 255.255.255.0 down
如果开机就需要别名IP地址的话,需要到/etc/sysconfig/network-scripts目录下新建一个子接口来永久性修改配置文件。将原ifcfg-enp0s3文件复制后,然后修改其中的IP地址信息。
cp ifcfg-enp0s3 ifcfg-enp0s3:1
为了方便也可以将ifconfig命令去创建和操作的虚拟ip的命令加入到开机启动中,详情参考笔者以前的文章-Linux设置脚本开机启动的四种方法。
2、辅助IP是由linux的ip命令去创建和操作的。
sudo ip addr add 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1
设置完成后,也可以通过ifconfig来查看。但是如果在命令后面不添加label enp0s3:1的话,那么ifconfig就不能查看了。
删除辅助IP,将add替换成del即可。
sudo ip addr del 192.168.31.5/24 brd 192.168.31.255 dev enp0s3 label enp0s3:1
辅助IP需要持久化的话,只能将ip命令去创建和操作的虚拟ip的命令加入到开机启动中了。
路由器通信设备:
路由器接口有限, 一个物理接口可以配置子接口(逻辑接口)的方式来实现一当多的功能。具体配置参考笔者的文章-eNSP模拟实验-单臂路由实现VLAN间通信。