前言 我们在校园或者图书馆,会连接一些公共网络。在连接后,初次访问访问网络时,浏览器会自动跳转到一个登陆页面。这背后的原理嘛,不知道。 本文,将有个类似的实现。当访问任意一个地址的 80 端口时,这个访问将被劫持,并返回一个自定义的界面。这里,是为了感受下 tproxy(transparent proxy,透明代理) 的使用。 接着,我们将从内核源…
前言 平时在工作中,接触到的还基本是 iptables 。 nftables 是 iptables的继任者。自 Linux 内核 3.13 开始,nftables即得到了支持,现在已经挺成熟的了。 所以,在日常工作中,当遇到需要 iptables的时候,或许应该优先使用 nftables。 关于 nftables的使用文档可参考:nftables …
前言 本文介绍 iptables 的基本使用。 iptables 的四表五链 相关链接:来,今天飞哥带你理解 Iptables 原理!-iptables原理详解 首先得对四表五链有个基础的理解,否则没法写/理解规则。 网上查资料,我们能看到这个图。我搞不懂这个图,但这个图能让我知道不同规则的触发顺序。 下面将介绍介绍 iptables 的四表五链。…
原理介绍 相关链接: 2.2.11. Reverse Path Forwarding Red Hat Documentation RFC 3704 - Ingress Filtering for Multihomed Networks Linux内核参数之rp_filter - 知乎 rp_filter,即 Reverse Path fi…
前言 有时候 ebpf 程序不好写。因为想要写好ebpf,需要对内核中的处理流程有些了解。 照葫芦画瓢是程序员的强项。可是有时候没有合适的葫芦参考,不好画瓢。比如,在 nftables 的 output 链 上,挂载 hook 函数,提取四元组。这并不好做,至少我还没写出来。写 ebpf 是一个痛苦的过程:程序可能会加载到内核失败;加载成功了,运行…
dae的使用 daeuniverse/dae 基于 eBPF 的 Linux 高性能透明代理解决方案。 安装与使用过程参考:简单易用的Linux研发网络全面加速方案 dae 的安装 首先是安装。 一些系统支持包管理器安装,见 dae-Quick Start Guide。 我当前的系统是ubuntu24.04 不支持管理器直接安装。 daeunive…
前言 参考自:VPN 原理以及实现 TUN/TAP 是操作系统内核中的虚拟网络设备,由软件进行实现,向操作系统和应用程序提供与硬件网络设备完全相同的功能。其中 TAP 是以太网设备(二层设备),操作和封装以太网数据帧,TUN 则是网络层设备(三层设备),操作和封装网络层数据包。 工作中不写vpn,但是得了解tun/tap的使用,要不然有的代码看不明…
前言 在 [trex篇] trex的hello world 使用 – da1234cao 中,我们了解的trex的基本启动流程。 trex 启动依赖两个配置文件。 第一个配置文件是 Traffic YAML,它被用来描述我们的流量模型是什么样的: [trex篇] trex 的流量模板配置 – da1234cao 第二个配置文件是 Platform …
前言 我办公桌上有一个 mini主机。mini 主机里面刷的是 debian 系统。平时,通过网络连接使用这个 mini 主机。 最近一周,我每天早上去的时候,笔记本都无法连接 mini主机。 通过笔记本也无法ping通mini主机。重启下 mini 主机的系统后,mini 主机的网络就又正常了。 连续几天,每个早上花十多分钟,重启机器,重启环境,…
前言 上一节,我们跟 trex 混了一个脸熟:[trex篇] trex的hello world 使用 – da1234cao 当时我们使用下面命令生成流量。 ./t-rex-64 -f cap2/dns.yaml -c 1 -m 1 -d 10000000 其中: -f <yaml file>:指定要使用的流量 YAML 配置文件。这是有状态…