家庭网络改造之全流量探针上线
继上次入了一个开放式机架之后,大概一年没对家庭网络做大的改动了(其实是改不动了,RB4011 上互联了很多地方,以及非常多的策略,如果要改,大概是要重来了。。。)
当然,毫无疑问这又是一个大水文~。
我家的网络架构还算简单,几个 VLAN,因为有 IPTV,而且从光猫到路由器只想一根线搞定,所以从光猫到路由器是 Trunk,路由器到各个屋子的交换机之间也是打了 Trunk,其中 IPTV 的 VLAN 只透传,我们不做管理。
这次的改造目标,是为家庭网络上一套全流量探针。
是的,你没有听错,就是全流量设备。有个契机是 Panabit 发布了一款基于国产化平台的 NTM,价格还算公道,其实我很早就想玩玩探针设备了,无奈这玩意不是死贵就说贵死,甚至鱼塘里的设备也不便宜。
我关注了一下 PA 的这款设备,有几点还是挺吸引我的,
1.支持全流量存档,回放
2.支持流量分析,溯源
3.一块钱的奇安信商用威胁情报库
我的诉求,
1.之前没有有效的反代流量日志留存的方法,只靠 ROS 的 NAT 日志和 Nginx 日志,很难定位扫描和攻击,希望 NTM 帮我把这个链子连起来。
2.内网的网络 ...
使用 Bird 宣告一个地址(BYOIP)
无论如何,你得先找一个支持 BGP 的上游,它可能能支持自助开通 BGP 服务,或者通过 Ticket 让你提交 LOA。政策上的事情不在这个文章中讨论。
本文以 Debian11 和 Bird2 为例。
配置一个虚拟网卡直接改 /etc/network/interfaces 的配置,可以 ifup ifdown 控制。
虚拟 IP 写 /128 或者 /32,否则会出现问题。
1234567891011auto dummy0iface dummy0 inet6 static address IPv6/128 pre-up ip link add $IFACE type dummy post-down ip link delete $IFACE type dummyauto dummy1iface dummy1 inet static address IPv4/32 pre-up ip link add $IFACE type dummy post-down ip link delete $IFACE type ...
Debian 编译安装 Bird2 小记
BGP Player 的第一步,以 Debian11 和 Bird2 为例,Debian11 源里的 Bird2 有这么一丢丢的老。
拉代码,装打包用的软件包,编译安装,我这用 v2.13.1 了。
12345678910sudo su -apt updateapt install -y build-essential autoconf git flex bison m4 libssh-dev libncurses-dev libreadline-dev cd /rootgit clone https://gitlab.nic.cz/labs/bird.git -b v2.13.1 bird-srccd bird-srcautoreconf./configure --prefix=/usr --sysconfdir=/etc/bird --runstatedir=/var/run/birdmakemake install
配置 Bird 专用的用户和组,别用 root 跑 Bird 吧?
12echo "bird:x:108:114::/run/bird:/usr/sbin ...
嘿!是 AS209574 | 和谐科技网
受 RIPE NCC 分配,我拿到了 AS209574 的自治系统编号。
我当然不可能是大会员,所以我是找了一家 LIR 帮我代为注册。
虽然最后是“Best Regards, and Happy Peering!”,但这个过程实在是太曲折了。
光 EUA 我就签了 4 次,因为 LIR 实在是看不懂我这个名字。。所以如果是想入坑的话,建议使用英文证件,比如护照之类的。虽然 RIPE NCC 是支持政府颁发的身份证的,但是语言差异,很难说 LIR 和 RIR 之间传话不会出啥岔子。
OK! 那有了这个 ASN,我以后要做什么呢?目前计划 漏漏路由给 Internet。LIR 非常大方直接给了一段/40 的 IPv6 地址,可以拆成 256 个/48 的 IPv6 地址块进行宣告(IPv6 最小的宣告地址块为/48,IPv4 最小为/24)。
炸表是不可能炸的了
LIR 在告知 ASN 分配的时候就给了手册学习 Beako learn,动手前当然要先看看咯?
当 BGP Player 的第一步,先学 Bird 过滤器,这里引用一下 Soha ...
几种反制网站恶意代理的手段
A 公司近期发现一个问题,他们的新闻网站在互联网上出现了一个李鬼网站。该网站的域名已经更换,但网站内容与 A 公司的新闻网站完全一致。不幸的是,该仿冒网站中插入了恶意的 JavaScript,给 A 公司的声誉造成了严重的负面影响。经过分析,发现 A 公司的网站遭到了恶意代理的攻击。
鉴于这一情况,我整理了之前遇到的几次恶意代理事件,有的解决了也有的情况不好解决,供大家共同分析参考。
被固定的代理服务器代理这种比较好处理,你可以构造一个路径去访问这个恶意代理域名。有针对性的去找代理服务器的源 IP 是谁。
101.100.xxx.xx - - [09/Jun/2023:09:55:37 +0800] “GET /whomi/xxxx HTTP/1.1”
根据请求的源 IP,我们可以使用 iptables 或者 nginx 的策略对访问进行禁封。
例如,iptables 规则示例
1iptables -A INPUT -s 101.100.xxx.xx -p tcp -j DROP
以及,nginx 规则示例
1234location / ...
DNS 查询超时带来的访问问题排查小记
以下故障环境纯属捏造,如有雷同,仅供处理参考,请以实际情况为主。
问题背景我们有一个反向代理设备(后称 Proxy),CentOS7 系统的,他会代理请求用户发来的请求给后端服务器(后称 Server)。有用户发现,当他的请求过了这个 Proxy 之后,会慢个大概 6 秒左右,遂上报了这个故障。
请求拓扑:Client–业务域名–>Proxy–后端真实域名–>Server
问题排查收到这个问题后,我第一时间复现了问题。我使用 Edge 访问业务域名,也会觉得非常卡顿,打开 DevTools 发现部分请求会在 6 秒左右。Waterfall 一片绿,大概是请求都耗在了等待从服务器接收第一个字节上了。
是我电脑到 Proxy 的网络中有什么问题吗?或者有没有可能是 Proxy 的出口带宽不足了?
我登录上了 Proxy 的服务器,开起了一个 SSH 隧道,通过这个隧道直接访问后端真实域名,发现现象依然存在,部分请求会卡顿 6 秒左右。那这个问题似乎不在 Client 和 Proxy 之间了,更像 Proxy 到 Server 间有什么问题。
那我 curl 一下后端真实域名吧 ...
将 ChatGPT 接入 Zabbix 为告警提供修复建议
ChatGPT 是最近很火的 AI 智能机器人程序,2 个月活跃用户突破 1 亿,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,真正像人类一样来聊天交流,甚至能完成撰写邮件、视频脚本、文案、翻译、代码,写论文等任务。
Zabbix 开源社区推文 实测|ChatGPT 对 Zabbix 用户有什么影响? 展示了将一些 Zabbix 相关的问题丢给 ChatGPT 处理来提升工作效率。
既然都说到这里了,那我们能不能将 Zabbix 告警信息丢给 ChatGPT,在告警的第一时间先给出一份可以参考的建议呢?
所以,基于 Zabbix 能力,我们将告警发给了 ChatGPT,并通过企业微信内部应用的方式给出告警信息和修复建议。效果如下图:
准备
注册 ChatGPT 账号
注册 AirCode 账号
准备 Zabbix 企业微信内部应用
因为需要接入 ChatGPT,必须要现有一个 OpenAI 的账号,AirCode 是一个 nodejs 运行时的 Serverless 平台,主要做 OpenAI 的 APIProxy,因为毕竟是国际服务,网络抖动会影响服务质 ...
硬刚 IPTV(1) - ROS 实现 IPoE 认证
主要就是解决如何在任意地方优雅看电视的问题。
内容比较多,计划分几个部分来搞,一实现 IPoE 认证,二实现 ACS 认证,三阶段能自动拿节目单,四阶段能看直播和回看。
案例:河北电信 IPTV(非 OTT 业务)
IPoE河北电信的 IPTV 采用的是 IPoE 方式进行设备认证的。IPoE 与 PPPoE 一样,都是接入认证技术,与 PPPoE 不同的是,IPoE 可以将用户的 IP 报文封装在以太网上,组织成 IPoE 报文,在该报文中携带用于认证的信息,配合其他认证协议,就可以实现高效的接入认证。
因为 IPoE 无需像 PPPoE 一样建立 PPP 会话和封装 PPP 报文,减小了一定的网络开销,传输效率要更高,特别适合承载一对多的视频业务,所以越来越多的 IPTV 业务改造成了 IPoE 认证。
IPoE 认证过程需要先对 IPoE 认证的过程有一些初步了解,方便我们进一步分析数据包。
这个图涉及到了很多设备,用户终端就是我们的盒子,和盒子有直接交互的就是 BRAS 设备,盒子和 BRAS 通过 DHCP 协议进行交互。那我们就要额外关注一下数据包中的 DHCP 报文。
...
如何减小 Docker 容器的日志文件大小
有一台跑 docker 的服务器,系统告警磁盘满了,经过排查,发现 /var/lib/docker/containers/ 占用了过多的磁盘空间,需要清理一下。
检查/var/lib/docker/containers/ 目录是 Docker 容器的日志目录,我们可以通过以下的命令,来查看每个容器的日志大小。
1docker ps -aq | xargs -I '{}' docker inspect --format='{{.LogPath}}' '{}' | xargs ls -lh
可以看到类似的内容。
1234-rw-r----- 1 root root 300G Feb 2 12:01 /var/lib/docker/containers/10cbdaa6640bfdd065ee4a192f5f455751f36938c0bbac870d ...
入了一台 Windows 开发工具包 2023
本文撰写、Cover 图片处理以及发布,均在 Windows DevKit 2023 中完成。
今年 10 月底,微软为进一步推进 Arm 生态,发布了一款基于 Arm 的 Windows Dev Kit 2023,也就是 Windows 开发工具包 2023。恰好我 GPD 的本子寄了,返修去了,考虑入手一台新设备。恰好这会正是双十一,各大笔记本都在调价(++),价格就不大合适了。我买笔记本一般也是发挥一个台式机的作用,因为往哪一放基本也不动。干脆这回直接看个台式设备吧。衡量了一下价格和性能,感觉这个 DevKit 刚刚能满足我的需求。
其实我对 Arm 当桌面机器的印象并不是特别好,也能也是先入为主。大概在几年前接触过智慧厂的一款 MatePad,跑的 Arm Win10,当时 Arm 的生态还很差,只能运行 Arm 和 x86(转义)应用,想装个 64 位的 JDK 都不行。最后木的任何办法,还是换回了 x64 的设备。
好了,还是回来说 DevKit 吧。本文大概会包含以下几个方面,包括:购买途径和价格,开箱,日常使用体验等。
购买途径DevKit 在国内是一个 toB 的设备 ...