21
2024
11
Linux 虚拟网络设备 veth-pair 详解
前面这篇文章介绍了 tap/tun 设备之后,大家应该对虚拟网络设备有了一定的了解,本文来看另外一种虚拟网络设备 veth-pair。01 veth-pair 是什么#顾名思义,veth-pair 就是一对的虚拟设备接口,和 tap/tun 设备不同的是,它都是成对出现的。一端连着协议栈,一端彼此相连着。如下图所示:正因为有这个特性,它常常充当着一个桥梁,连接着各种虚拟网络设备,典型的例子像“两个 namespace 之间的连接”,“Bridge、OVS 之间的连接”,“Docker 容器之间的
作者:hqy | 分类:Linux | 浏览:264 | 评论:0
21
2024
11
利用 Linux tap/tun 虚拟设备写一个 ICMP echo 程序
前面两篇文章已经介绍过 tap/tun 的原理和配置工具。这篇文章通过一个编程示例来深入了解 tap/tun 的程序结构。01 准备工作#首先通过 modinfo tun 查看系统内核是否支持 tap/tun 设备驱动。Copy[root@by ~]# modinfo tunfilename: /lib/modules/3.10.0-862.14.4.el7.x86
作者:hqy | 分类:Linux | 浏览:259 | 评论:0
21
2024
11
网卡也能虚拟化?网卡虚拟化技术 macvlan 详解 详解云计算网络底层技术——虚拟网络设备 tap/tun 原理解析
在云计算时代,虚拟机和容器已经成为标配。它们背后的网络管理都离不开一样东西,就是虚拟网络设备,或者叫虚拟网卡,tap/tun 就是在云计算时代非常重要的虚拟网络网卡。tap/tun 是什么#tap/tun 是 Linux 内核 2.4.x 版本之后实现的虚拟网络设备,不同于物理网卡靠硬件网路板卡实现,tap/tun 虚拟网卡完全由软件来实现,功能和硬件实现完全没有差别,它们都属于网络设备,都可以配置 IP,都归 Linux 网络设备管理模块统一管理。作为网络设备,tap/tun 也需要配套相应的
作者:hqy | 分类:Linux | 浏览:306 | 评论:0
21
2024
11
一文总结 Linux 虚拟网络设备 eth, tap/tun, veth-pair
Linux 虚拟网络的背后都是由一个个的虚拟设备构成的。虚拟化技术没出现之前,计算机网络系统都只包含物理的网卡设备,通过网卡适配器,线缆介质,连接外部网络,构成庞大的 Internet。然而,随着虚拟化技术的出现,网络也随之被虚拟化,相较于单一的物理网络,虚拟网络变得非常复杂,在一个主机系统里面,需要实现诸如交换、路由、隧道、隔离、聚合等多种网络功能。而实现这些功能的基本元素就是虚拟的网络设备,比如 tap、tun 和 veth-pair。tap/tun#tap/tun 提供了一台主机内用户空间
作者:hqy | 分类:Linux | 浏览:267 | 评论:0
21
2024
11
linux虚拟ip secondary ip primary ip;scope global secondary eth0 ;veth
一 vethhttps://www.cnblogs.com/bakari/p/10613710.html顾名思义,veth-pair 就是一对的虚拟设备接口,和 tap/tun 设备不同的是,它都是成对出现的。一端连着协议栈,一端彼此相连着。如下图所示:二 子接口 辅助iplinux下ip地址除了primary外,还有两种: 1. ip alias(子接口) 2. secondary ip(辅助ip)都可在一块物理网卡上添加,alias由ifconfig添加,ifconfig查看时以子接口如et
作者:hqy | 分类:Linux | 浏览:258 | 评论:0
20
2024
11
SSH无密码登录及putty设置
一般Linux的VPS比Windows的便宜,所以手上的几个VPS清一色Linux发行版CentOS系统。拿到root权限的账号,系统随机生成的密码比较复杂,一般我们为了方便记忆都会改成自己能记得住的,然而这是不安全的。但凡用到密码的地方都只是看似安全。所以,在开通了Linux系统的VPS后,我们有必要对SSH登录做一些基本的安全设置。 这其中利用公钥和私钥就能实现SSH无密码登录。按照如下步骤操作:1、生成公钥和私钥 Linux系统中绝大部分的发行版都是用OpenSSH,所以生成公钥私钥
作者:hqy | 分类:Linux | 浏览:341 | 评论:0
20
2024
11
Apache索引(目录浏览)
在浏览一些镜像文件站的时候,会发现网站目录是可以浏览文件(夹)列表的。举两个例子:网易开源镜像;Ubuntu。只要 Web 服务器是基于 Apache 的网站都可以开启或禁止索引(目录浏览),那么如何实现禁止和开启显示目录索引呢?一、禁止 Apache 显示目录索引方法1、修改Apache配置文件[httpd.conf](1)目录配置<Directory /home/www/teddysun">
#Options Indexes Follo
作者:hqy | 分类:Linux | 浏览:330 | 评论:0
20
2024
11
CentOS下如何手动添加Swap
在编译 PHP 的时候出现了进程被 killed 的状况,经过我的吐槽以及和别人交流后发现,是内存耗尽的缘故。其实是因为当时开着 MySQL 进程消耗了不少内存,后来觉得有必要手动添加一下 Swap(交换分区),这样以免以后再编译什么的时候进程被K 。关于 Linux 中 Swap(交换分区),类似于 Windows 的虚拟内存,就是当内存不足的时候,把一部分硬盘空间虚拟成内存使用,从而解决内存容量不足的情况。那么如何在 CentOS 中手动添加 Swap 呢?1、检查 Swap 空间在设置 S
作者:hqy | 分类:Linux | 浏览:269 | 评论:0
20
2024
11
在 Windows 10 上安装 CentOS 系统
Windows 10 的 WSL,即 Windows Subsystem for Linux,可运行 GNU/Linux 环境, 包括大多数命令行工具、实用工具和应用程序且不会产生传统虚拟机或双启动设置开销。Windows 10 的版本大于等于 1709 即可安装和使用 WSL。本文将介绍如何在 Windows 10 上开启 WSL,并安装 CentOS 7 或 CentOS 8 系统。在 Windows 10 上开启 WSL以管理员身份运行 Powershell,并输入以下命令,稍等片刻,会提
作者:hqy | 分类:Linux | 浏览:345 | 评论:0
20
2024
11
制作适用于 WSL 的任意 Linux 镜像
WSL,Windows Subsystem for Linux 的缩写,意为适用于 Linux 的 Windows 子系统。可让开发人员按原样运行 GNU/Linux 环境,包括大多数命令行工具、实用工具和应用程序,且不会产生传统虚拟机或双启动设置开销。如何在 Windows 10 版本 2004 及更高版本或 Windows 11 上安装 WSL,可以参考微软的官方文档。Microsoft Store 上已存在一些 Linux 发行版,比如 Ubuntu 等,基本上寥寥无几,或者版本比较古老。
作者:hqy | 分类:Linux | 浏览:351 | 评论:0
20
2024
11
LCMP (Linux + Caddy + MariaDB + PHP)
2022 年 6 月 HTTP/3 的 RFC 发布迄今已经有一年了。市面上常用的几款 Web Server,Caddy Web Server 是最早支持 HTTP/3 的,而 Nginx 直到 2023 年 5 月 23 日 1.25.0 版本才开始体验支持。至于 Apache httpd,也不知道要到什么时候才支持 HTTP/3。之所以打算正式从 Apache httpd 切换到 Caddy,是因为除 Caddy 之外的 Web Server
作者:hqy | 分类:Linux | 浏览:317 | 评论:0
20
2024
11
从 Apache httpd 切换到 Caddy2
Caddy Web Server 自v2.6 版本发布以后,就默认支持 HTTP/3。可以说是最早支持 HTTP/3 的 Web Server,而 Nginx 直到 2023 年 5 月 23 日 1.25.0 版本才开始体验支持。至于 Apache httpd 也不知道要到猴年马月才支持 HTTP/3 了。按照本文教程,即可搭建 LCMP (Linux + Caddy2 + MariaDB + PHP) 环境。同时亦可使用本文提供的脚本,快速安装。LCMP 一键安装2024 年 11
作者:hqy | 分类:Linux | 浏览:323 | 评论:0
20
2024
11
一键安装最新内核并开启 BBR 脚本
最近,Google 开源了其 TCP BBR 拥塞控制算法,并提交到了 Linux 内核,从 4.9 开始,Linux 内核已经用上了该算法。根据以往的传统,Google 总是先在自家的生产环境上线运用后,才会将代码开源,此次也不例外。根据实地测试,在部署了最新版内核并开启了 TCP BBR 的机器上,网速甚至可以提升好几个数量级。于是我根据目前三大发行版的最新内核,开发了一键安装最新内核并开启 TCP BBR 脚本。本脚本适用环境系统支持:CentOS 6+,Debian 8+,Ubuntu
作者:hqy | 分类:Linux | 浏览:284 | 评论:0
20
2024
11
LAMP一键安装包
LAMP 一键安装包是一个用 Linux Shell 编写的可以为 Amazon Linux 2/CentOS/Debian/Ubuntu 系统的 VPS 或服务器安装 LAMP(Linux + Apache + MySQL/MariaDB + PHP) 生产环境的 Shell 脚本。包含一些可选安装组件如:Zend OPcache, ionCube Loader, PDFlib, APCu, imagick, libsodium, m
作者:hqy | 分类:Linux | 浏览:346 | 评论:0
20
2024
11
重新编译 curl 以支持 HTTP3
从 2022 年 6 月 HTTP/3 的 RFC 发布,截至目前,常用的 Web Server,比如 Caddy Web Server 和 Nginx 已经支持 HTTP/3。与此同时,常用的浏览器比如 Google Chrome,Microsoft Edge,Mozilla Firefox,Apple Safari 等也都开始支持 HTTP/3。这里吐槽一下,Apache httpd 支持 HTTP/3 还遥遥无期。常用的 Clie
作者:hqy | 分类:Linux | 浏览:269 | 评论:0
19
2024
11
Centos7中添加、删除Swap交换分区的方法
Swap介绍:Linux 将物理内存分为内存段,叫做页面。交换是指内存页面被复制到预先设定好的硬盘空间(叫做交换空间)的过程,目的是释放对于页面的内存。物理内存和交换空间的总大小是可用的虚拟内存的总量。Swap即:交换分区,类似于Windows的虚拟内存,但物理内存不足时,把部分硬盘空间当成虚拟内存使用,从而解决了物理内存容量不足。优点:节省成本。
缺点:性能不足。此方法不局限于Centos 7,Linux系统均可使用。操作用户:root。1.添加swap交换分区空间使用dd命令创建swap
作者:hqy | 分类:Linux | 浏览:264 | 评论:0
19
2024
11
Linux设置交换分区(swap)的方法
Linux系统的Swap分区,即交换分区,通常也称为虚拟内存,Swap空间的作用可简单描述为:当系统的物理内存不够用的时候,就需要将物理内存中的一部分空间释放出来,以供当前运行的程序使用。那些被释放的空间可能来自一些很长时间没有什么操作的程序,这些被释放的空间被临时保存到Swap空间中,等到那些程序要运行时,再从Swap中恢复保存的数据到内存中。这样,系统总是在物理内存不够时,才进行Swap交换。其实,Swap的调整对Linux服务器,特别是Web服务器的性能至关重要。通过调整Swap,有时可以
作者:hqy | 分类:Linux | 浏览:306 | 评论:0
19
2024
11
CentOS/Linux服务器的内存不够解决方法
CentOS的云主机,因为贫穷限制了我购买的内存大小,只有500M,所以导致物理内存经常处于饱和状态,无奈虚拟内存设置的只有132M,理论上讲虚拟内存应该要有物理内存的2倍也就是1G大小才够用!又由于我安装其他工具,提示我内存不足,所以想用提高虚拟内存的方法去安装这个软件,本来都已经安装完了,今天我手贱把Linux重启了一下,没看仔细,不过也不是坏事情,正好记录下设置过程,以便下次再重启的时候方便设置!1.打开终端,切换到root用户,输入:free -m查看内存状态
[maker@LLM ~
作者:hqy | 分类:Linux | 浏览:268 | 评论:0
18
2024
11
win7系统上安装ubuntu,分区时无法显示win7上已分好的区方法解决 && Error:Can't have a partition outside the disk
问题描述:由于电脑之前安装过win7+ubuntu,操作ubuntu时误删重要文件,导致重装ubuntu,由于不是经过正确途径卸载ubuntu(直接在win7自带磁盘管理工具中删除安装ubuntu的分区),结果用u盘安装ubuntu时,进行分区过程中无法识别出win7里已经分好的区,而是直接显示在整个硬盘上来分区。中文网站里很多都是直接格式化整个硬盘之类,后来在一个英文网站里找到了解决方案。http://gparted.org/h2-fix-msdos-pt.php发现根本原因是,磁盘分区时出现
作者:hqy | 分类:Linux | 浏览:246 | 评论:0
18
2024
11
ntpdate
ntpdatentpdate使用网络计时协议(NTP)设置日期和时间补充说明ntpdate命令 是用来设置本地日期和时间。它从指定的每个服务器获得了一些样本,并应用标准 NTP 时钟过滤器和选择算法来选择最好的样本。此 ntpdate 命令使用以下方法进行时间调整:如果它确定时钟偏差超过 0.5 秒,它通过调用 settimeofday 子例程设置时钟时间。在引导时间,这是一个首选的方法。如 果它确定时钟偏差小于 0.5 秒,它通过调用 adjtime 子例程和偏移量来调整时钟时间。此
作者:hqy | 分类:Linux | 浏览:252 | 评论:0