抽象网络设备的原理及使用 网络虚拟化是 Cloud 中的一个重要部分。作为基础知识,本文详细讲述 Linux 抽象出来的各种网络设备的原理、用法、数据流向。您通过此文,能够知道如何使用 Linux 的基础网络设备进行配置以达到特定的目的,分析出 Linux 可能的网络故障原因。 Linux 抽象网络设备简介 和磁盘设备类似,Linux 用户想要使用网络功能,不能通过直接操作硬件完成,而需要直接或间接的操作一个 Linux 为我们抽象出来的设备,既通用的 Linux 网络设备来完成。一个常见的情况是,系统里装
前面的文章讲过了几种 Linux 虚拟网络设备:tap/tun、veth-pair、bridge,它们本质上是 Linux 系统 提供的网络虚拟化解决方案,今天要讲的 macvlan 也是其中的一种,准确说这是一种网卡虚拟化的解决方案。因为 macvlan 这种技术能将 一块物理网卡虚拟成多块虚拟网卡 ,相当于物理网卡施展了 多重影分身之术 ,由一个变多个。
在前一篇文章《Linux内核跟踪:ftrace hook入门手册(上)》中,我们对部分ftrace hook经典方案中的实现细节进行了优化。本文会深入说明这些优化的原理和目的。
“虚拟局域网”。LAN可以是由少数几台家用计算机构成的网络,也可以是数以百计的计算机构成的企业网络。VLAN所指的LAN特指使用路由器分割的网络——也就是广播域。广播域,指的是广播帧(目标MAC地址全部为1)所能传递到的范围,亦即能够直接通信的范围。严格地说,并不仅仅是广播帧,多播帧(Multicast Frame)和目标不明的单播帧(Unknown Unicast Frame)也能在同一个广播域中畅行无阻。
今天一个老外在邮件列表上问了一个问题,就是ip addr add和ifconfig的区别,我给他进行了解答,可能因为英语不好吧,解答的很简单,因此我还是要在这里详细说明一下。其实它们之间没有什么区别,只 是表述方式不同罢了。如果你非常理解网络协议的原理以及网络的分层架构那么我想你就不会有这个问题,实际上,每一个网卡设备都有一个mac地址,但是却可 以有多个网络层地址,比如IP地址,然而这个事实无法很好地像用户提供操作接口,所以就引出了ip别名(IP aliases)和辅助ip(secondary IP addresses)的概念。其实很容易理解这个事实,按照分层的思想,下层总是为上层服务,也就是为上层提供舞台,上层利用下层的服务,而不必让下层知 道自己的情况,如果一个拥有合理mac地址的网卡没有配置网络层地址(比如IP地址)这件事合理的话,那么为这个设备配置多个IP地址也是合理的,正好像 一个ip可以对应多个应用层端口一样,也就是说,下层对上层总是一对多的关系,在分层架构中这种关系是合理的。下面我们就看一下linux的网卡的ip地 址结构。刚才说了在linux中,一个网卡可以有多个IP,那么这多个ip有什么关系呢?其实这些ip组成了一个吊链结构,所谓吊链结构就是一些节点链接 成一条链,然后每个节点带有自己的一条链,如下图所示:
项目地址:https://github.com/7ORP3DO/infoooze#-getting-started
本文首发于:https://blog.frytea.com/archives/525/
在日常linux管理工作中,需要为应用配置单独的IP地址,以达到主机与应用的分离,在应用切换与迁移过程中可以做到动态切换,特别是在使用HA的时候,这种方案可以保证主机与应用的隔离,对日常的运维有很大的益处.
ftrace(FunctionTracer)是Linux内核的一个跟踪框架,它从2008年10月9日发布的内核版本2.6.27开始并入Linux内核主线[1]。官方文档[2]中的描述大致翻译如下:
在 Macvlan 出现之前,我们只能为一块以太网卡添加多个 IP 地址,却不能添加多个 MAC 地址,因为 MAC 地址正是通过其全球唯一性来标识一块以太网卡的,即便你使用了创建 ethx:y 这样的方式,你会发现所有这些“网卡”的 MAC 地址和 ethx 都是一样的,本质上,它们还是一块网卡,这将限制你做很多二层的操作。有了 Macvlan 技术,你可以这么做了。
不必太纠结于当下,也不必太忧虑未来,当你经历过一些事情的时候,眼前的风景已经和从前不一样了。——村上春树
Unimap是一款基于Nmap实现的扫描速度提升工具,我们只需要提供一个IP地址给Unimap,即使是大量数据,Unimap也能够以非常快的速度完成网络扫描。Unimap是“Unique Nmap Scan”的缩写,该工具的当前版本支持在Linux、macOS、Windows或Android(Termux)等平台上正常运行。
作者:源子姗 my.oschina.net/u/3341316/blog/877206 开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。 一、http重定向 当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标记来返回一个新的U
开头先理解一下所谓的“均衡” 不能狭义地理解为分配给所有实际服务器一样多的工作量,因为多台服务器的承载能力各不相同,这可能体现在硬件配置、网络带宽的差异,也可能因为某台服务器身兼多职,我们所说的“均衡”,也就是希望所有服务器都不要过载,并且能够最大程序地发挥作用。 一、http重定向 当http代理(比如浏览器)向web服务器请求某个URL后,web服务器可以通过http响应头信息中的Location标记来返回一个新的URL。这意味着HTTP代理
最近想学习一下 iproute2 的用法,Google 搜索后发现了这篇排名靠前的文章。本文是自己基于对原文理解的意译,如有问题,欢迎大家指出。
作为一名测试人员,在测试过程中,我们需要去部署测试环境,查看服务器上面的日志,登陆数据库,甚至做一些shell脚本类的工具开发,必不可少都会用到Linux命令。所以无论是开发还是测试,Linux命令已经成为常规操作,很有必要去学习。
进行WLAN连接 AT+STARTSTA - 启动STA模式 AT+SCAN - 扫描周边AP AT+SCANRESULT - 显示扫描结果 AT+CONN=“SSID”,2,“PASSWORD” - 连接指定AP,其中SSID/PASSWORD为待连接的热点名称和密码 AT+STASTAT - 查看连接结果 AT+DHCP=wlan0,1 - 通过DHCP向AP请求wlan0的IP地址 查看WLAN模组与网关联通是否正常 AT+IFCFG - 查看模组接口IP AT+PING=X.X.X.X - 检查模组与网关的联通性,其中X.X.X.X需替换为实际的网关地址
参考:《Hi3516CV500╱Hi3516DV300 SDK 安装及升级使用说明》 海思HI3516DV300 自学记录【1】:linux服务器SDK安装、nfs挂载
一个字“快”,真正的百兆宽带。下载NCBI原始文件SRA下行速度能够达到100M/s,一般SRA下载一个文件15-20分钟搞定。大大节省时间成本,对于云服务器使用来说,省时就是省钱。
由上图我们可以看到创建的网络ID为4554d78082da ,使用ip addr查看本机网络:
使用ifconfig 发现了使用nslookup查到的ip,而ip addr竟然不显示那个ip地址。
Netdiscover 是一个非常有吸引力的工具,用于发现有线或无线网络上的主机。它可以在主动和被动模式下使用。 主动模式:它向主机发送请求以获取信息。 被动模式:以静默模式工作,称为被动模式或监听模式。
Sudomy是一个使用bash脚本创建的子域枚举工具,用于快速全面地分析域和收集子域。
随着 Docker、Linux Containers 这些工具的出现,将 Linux 进程隔离到自己的小系统环境中隔离变得非常容易。这使得在一台真实的 Linux 机器上运行各种各样的应用成为可能,并确保它们之间不会互相干扰,而无需使用额外的虚拟机。这些工具为 PaaS 服务商带来了巨大的福音。但是这背后到底是如何实现的呢?
解压文件 tar -zxvf frp_0.34.3_linux_amd64.tar.gz
tailscale管理端:https://login.tailscale.com/admin/machines
DNS 是域名系统(Domain Name System) 的缩写,它的功能是将域名解析成ip。我们日常上网浏览网页时,在浏览器(如:IE)的地址栏中常输入的是网站的网址,其实网址这个概念在专业的角度称为域名,即:网址=域名。
在很长一段时间内,ifconfig 命令是配置网络接口的默认方法。它为 Linux 用户提供了很好的服务,但是网络很复杂,所以配置网络的命令必须健壮。ip 命令是现代系统中新的默认网络命令,在本文中,我将向你展示如何使用它。
如上例子在本机当前文件夹下移动文件 test.zip 到远程服务器 root@192.168.1.252下的dataset文件夹。从远程移动到本地反过来就行。拷贝文件夹使用如下命令:(-r recursion递归)
通过上篇文章的学习,我们已经知道 Macvlan 四种模式的工作原理,其中最常用的就是 Bridge 模式,本文我们将通过实验来验证 Macvlan Bridge 模式的连通性。
对于修改时间,我们在安装kali时选择相关的时区即可,只要kali联网,时间会自动更新。如果你不小心设置的错误的时区,或者坐飞机去美利坚搞渗透,那么这时你需要修改你的时间了。 查看当前时区信息
shell 作为一门系统级别胶水语言,学习成本低,用起来很方便,但是缺点也显而易见:性能问题一直为人锁诟病。所以 shell 也就多用在简单的系统管理等场合,数据处理等等要求比较高的场合一般会选择 java、Python 等功能更强大、性能更好的语言。 最近用shell写了一个小函数,用来在集群间批量执行命令并返回结果: for ip in ips do ssh work@$ip "echo 1; exit" 2>/dev/null done 执行下来功能没啥问题,但是性能却一塌糊涂,6台机器执行将
Docker 是一个开源的应用容器引擎,基于 Go 语言 并遵从Apache2.0协议开源。
在Kubernetes管理模式下通常只会使用bridge模式,如下介绍在bridge模式下Docker是如何支持网络的。
公式: Li = R(i - 1), Ri = L(i - 1) ^ F(R(i - 1), Ki)
简单点说AdGuard Home就是一个公共DNS服务,如Google的公共DNS8.8.8.8,和DNSmasq一样AdGuard Home是开源的,可以自行搭建安装后在客户端配置使用。xiaoz之前分享过一个自己写的项目PHPDNS ,PHPDNS在DNSmasq的基础上开发了WEB界面,功能比较简单,不过该项目不在维护,这里推荐功能更加强大的AdGuard Home
IPADDR(静态ip)、PREFIX(子网掩码长度24)、GATEWAY(默认网关)、DNS(域名)
所用命令wttr.in wttr.in是一个在线网站,根据ip地位将本地的天气预报已字符串的形式显示。 命令:
Docker的默认网络是非常弱的,他使用的是一个虚拟网桥和container中的veth pair通信,在container中,默认是没有对外的IP的,外部主机或容器只能通过NAT,或者自定义iptable来实现主机或容器间的互联互通。 这种局限性非常明显: 如果我要配置一个sshd service,需要手工配置转发规则,非常不便 无法使用DHCP NAT无法在宿主机上用一个端口提供不同服务,所以有多个container绑定到一个物理网卡时,因为无法分配多个对外IP,所以诸如Http 这样的服务只能跑在同一
在本文中介绍了支持Wi-Fi的802.11标准中的三个设计缺陷。 一个设计缺陷在帧聚合功能,另外两个缺陷在帧分段功能。这些设计缺陷使攻击者能够以各种方式伪造加密的帧,进而使敏感数据得以泄露。还发现了与聚合、分段相关的常见实现缺陷,这进一步加剧了攻击的影响。 本研究结果影响了从WEP一直到WPA3的所有受保护的Wi-Fi网络,这意味着自1997年发布以来,所发现的缺陷就一直是Wi-Fi的一部分。在实验中,所有设备都容易受到一个或多个本研究攻击的影响,确认所有Wi-Fi设备都可能受到影响。 最后,提供了一种工具来测试设备是否受到任何漏洞的影响,并讨论了防止攻击的对策(https://www.fragattacks.com )。
Docker 作为容器的主流平台,不仅仅提供了虚拟化隔离,同时也配备的网络隔离技术,并使用不同的网络驱动满足不同的场景,这篇文章对 Docker 的3种网络实现Host、Bridge、Macvlan进行模拟验证,并在实践中理解背后的基本原理。
carte是由kettle所提供的web server的程序, carte也被叫做子服务器(slave) 在kettle调用集群(cluster)来进行分布式分发、处理任务的时候,
系统管理员负责 Linux 设备上的服务管理。以下是他们需要了解的有关配置、启动选项、安全等方面的信息。
nps是一款轻量级、高性能、功能强大的内网穿透代理服务器。目前支持tcp、udp流量转发,可支持任何tcp、udp上层协议(访问内网网站、本地支付接口调试、ssh访问、远程桌面,内网dns解析等等……),此外还支持内网ttp代理、内网socks5代理,并带有功能强大的web管理端。
使用Linux上的网络设备模拟真实网络 随着云计算技术的发展,如何以类似物理网络的方式分割虚拟网络成为热点,物理网络也引入了更多支持虚拟化的网络技术,使得问题更加复杂。本文将阐述在 Linux 上如何模拟出传统网络及支持虚拟化技术的网络 ,并介绍其原理。 虚拟化环境中的网络问题 在提供 IaaS 服务的云计算环境中,每个用户都能得到一个虚拟的计算机,而这些虚拟机器以密集的方式运行在后台服务器集群中。虚拟机的一个特点是提供给用户类似于物理机器的体验,而现实世界中的物理机器能通过各种网络拓扑结构组网。如何在
我们在很多时候需要远程连接家中或公司的电脑。在前面的文章中我们讲到利用frp进行内网穿透,但是他的局限在于你需要一台公网服务器。并且对公网服务器的带宽有一定的要求。因此这里我们推荐一款另一款工具 zerotier以搭建用于自己的虚拟网络,经过授权连接成功之后彼此都在同一网段,可以像在局域网一样互相访问。
知乎上搜到一个比较有意思的话题:如何理解「进入内核态」,要回答好这个问题需要对内存管理及程序的运行机制有比较深刻的了解,比如你需要了解内存的分段,分页,中断,特权级等机制,信息量比较大,本文将会从 Intel CPU 的发展历史讲起,循序渐近地帮助大家彻底掌握这一概念,相信大家看了肯定有帮助,本文目录如下
ipsec vpn互联可以使用专有的VPN设备,比如腾讯云的VPN网关,同时也可以安装vpn软件,比如strongswan。记录一次linux机器安装strongswan自建VPN网关和腾讯云VPN网关对接实践。
此问题可以基于WebServer 的ServerName 机制解决,即“虚拟主机”技术来解决这个问题,它可以实现一台服务器运行多个网站,且多个网站共用一个公网IP,访问时不同域名共用一个IP,访问不同的网站,大大节省了开销。举例如下: Linux 项目实战之基于域名的虚拟主机:
领取专属 10元无门槛券
手把手带您无忧上云