👋 动态记录 & 转发分享 ✨ https://tg.okhk.net/ ✌️
Nali 这个仓库知道的人挺少的,其实它配合mtr使用,效果很好,比如
mtr -n4 tj.189.cn |./nali-nt_linux_amd64
为了方便使用也可以加入bashrc中,如
echo 'ntr(){
mtr $* -n |nali-nt_linux_amd64
}' >> ~/.bashrc
# 用法如下
ntr www.baidu.com
ntr tj.189.cn -4T
项目仓库地址
https://github.com/nxtrace/nali
Message link
路由器大全:https://mao.fan/select
路由器CPU天梯图:https://mao.fan/socpk.html
作者:小鲸社长(B站 YouTube同名)
k8s 部署 mihomo(former clash-meta) 作为内网的透明网关
#RePost #K8s #GitHub #Network
写了份指南,
实现了在 k8s 集群上部署 mihomo ,让 mihomo 作为透明网关接管内网流量
用到了 multus 将 pod 的网卡暴露到内网
用起来还不错,不需要 vm 这么重的方式部署透明网关了
pod 挂了还能自愈,主打一个一劳永逸。
https://github.com/Winson-030/mihomo-kubernetes
https://www.v2ex.com/t/1043922#reply0
Message link
#RePost #K8s #GitHub #Network
写了份指南,
实现了在 k8s 集群上部署 mihomo ,让 mihomo 作为透明网关接管内网流量
用到了 multus 将 pod 的网卡暴露到内网
用起来还不错,不需要 vm 这么重的方式部署透明网关了
pod 挂了还能自愈,主打一个一劳永逸。
https://github.com/Winson-030/mihomo-kubernetes
https://www.v2ex.com/t/1043922#reply0
Message link
🔗 IP Quality - 一个简单实用的 IP 质量体检脚本
▎项目功能:IP 检测
▎项目介绍:一个用于 IP 质量检测的 Shell 脚本项目,主要功能是检测 IP 地址的匿名程度和地理位置信息。
支持 中英双语、IPv4/IPv6 双栈查询、基础信息、IP 类型、风险评分、风险因子、流媒体解锁、邮局检测六大模块和 IP 地址黑名单 400+ 数据库检测 等功能。
▎项目地址:点击打开
Message link
一行命令降低 IPv6 出站优先级
#RePost #Script #Network
https://www.nodeseek.com/post-73797-1
命令:
这个命令干了什么?
这个命令对/etc/gai.conf文件做了修改,由于是系统文件,请确保拥有足够的权限运行此命令
运行该命令会处理以下4种情况:
1. 遇到已经设定过ipv4最高优先级配置时,结束执行,不做任何修改
2. 在遇到被注释掉的ipv4优先级配置时,将取消其注释,同时保留该行配置文件的注释
3. 当遇到设定值非100的优先级设置时,将优先级设置为100并注明原值为多少
4. 当没有发现被注释掉的ipv4优先级配置时,在配置文件末尾添加配置
命令将会为/etc/gai.conf 文件配置以下值:
这行配置有什么用
::ffff:0:0/96 是ipv4的ipv6映射地址
这行配置将ipv4作为最高的优先级
为什么选择优先v4出站
现在主流系统都默认优先使用v6出站
但是一般来说网站对v4的支持效果更好,连接速度更佳(有时候v6去目标网站会绕路)
相信单这一点对于MJJ来说就已经够了
而且降低v6优先级并不是关闭v6,仍然能够访问v6 only网站
为什么不使用更简单点的命令
一寸长一寸强!
这行命令当然可以实现降低v6优先级的效果
但是
1. 如果不小心重复运行将会导致配置文件底下出现多行相同配置项,影响美观(强迫症患者)
2. 如果已经配置过ipv4优先级了(比方说设置为60),那么直接用上面的echo命令会出现冲突
如何查看命令效果
使用
如果是ipv6优先,则会ping 到google的ipv6地址
v4优先则ping v4的地址
以下是v6出站示例
使用命令之后可以看到出站变成v4优先了
注意
如果商家镜像中该配置文件的末尾已经有了该配置项(例如v.ps)脚本会将前面被注释掉的
给取消注释,导致有两个相同的配置。这是没有办法的,无法通过单单一行命令应对这种情况 ;_;
该命令可能不适配老系统,可能不适配redhet系(未测试)
经测试大便11/12没有问题,ubuntu较新系统没有问题
#RePost #Script #Network
https://www.nodeseek.com/post-73797-1
命令:
sed -Ei '/^[[:space:]]*#?[[:space:]]*precedence[[:space:]]+::ffff:0:0\/96[[:space:]]+100\b.*?$/ {s/.+100\b([[:space:]]*#.*)?$/precedence ::ffff:0:0\/96 100\1/; :a;n;b a}; /^[[:space:]]*precedence[[:space:]]+::ffff:0:0\/96[[:space:]]+[0-9]+.*$/ {s/^.*precedence.+::ffff:0:0\/96[^0-9]+([0-9]+).*$/precedence ::ffff:0:0\/96 100\t#原值为 \1/; :a;n;ba;}; $aprecedence ::ffff:0:0\/96 100' /etc/gai.conf
这个命令干了什么?
这个命令对/etc/gai.conf文件做了修改,由于是系统文件,请确保拥有足够的权限运行此命令
运行该命令会处理以下4种情况:
1. 遇到已经设定过ipv4最高优先级配置时,结束执行,不做任何修改
2. 在遇到被注释掉的ipv4优先级配置时,将取消其注释,同时保留该行配置文件的注释
3. 当遇到设定值非100的优先级设置时,将优先级设置为100并注明原值为多少
4. 当没有发现被注释掉的ipv4优先级配置时,在配置文件末尾添加配置
命令将会为/etc/gai.conf 文件配置以下值:
precedence ::ffff:0:0\/96 100
这行配置有什么用
::ffff:0:0/96 是ipv4的ipv6映射地址
这行配置将ipv4作为最高的优先级
为什么选择优先v4出站
现在主流系统都默认优先使用v6出站
但是一般来说网站对v4的支持效果更好,连接速度更佳(有时候v6去目标网站会绕路)
相信单这一点对于MJJ来说就已经够了
而且降低v6优先级并不是关闭v6,仍然能够访问v6 only网站
为什么不使用更简单点的命令
一寸长一寸强!
echo "precedence ::ffff:0:0\/96 100" >> /etc/gai.conf
这行命令当然可以实现降低v6优先级的效果
但是
1. 如果不小心重复运行将会导致配置文件底下出现多行相同配置项,影响美观(强迫症患者)
2. 如果已经配置过ipv4优先级了(比方说设置为60),那么直接用上面的echo命令会出现冲突
如何查看命令效果
使用
ping google.com
如果是ipv6优先,则会ping 到google的ipv6地址
v4优先则ping v4的地址
以下是v6出站示例
ping google.com
PING google.com(hkg12s13-in-x0e.1e100.net (2404:6800:4005:808::200e)) 56 data bytes
64 bytes from hkg12s37-in-x0e.1e100.net (2404:6800:4005:808::200e): icmp_seq=1 ttl=119 time=0.341 ms
64 bytes from hkg12s37-in-x0e.1e100.net (2404:6800:4005:808::200e): icmp_seq=2 ttl=119 time=0.350 ms
64 bytes from hkg12s37-in-x0e.1e100.net (2404:6800:4005:808::200e): icmp_seq=3 ttl=119 time=1.01 ms
64 bytes from hkg12s13-in-x0e.1e100.net (2404:6800:4005:808::200e): icmp_seq=4 ttl=119 time=0.325 ms
64 bytes from hkg12s37-in-x0e.1e100.net (2404:6800:4005:808::200e): icmp_seq=5 ttl=119 time=0.369 ms
使用命令之后可以看到出站变成v4优先了
ping google.com
PING google.com (142.250.204.78) 56(84) bytes of data.
64 bytes from hkg07s39-in-f14.1e100.net (142.250.204.78): icmp_seq=1 ttl=59 time=0.797 ms
64 bytes from hkg07s39-in-f14.1e100.net (142.250.204.78): icmp_seq=2 ttl=59 time=0.805 ms
64 bytes from hkg07s39-in-f14.1e100.net (142.250.204.78): icmp_seq=3 ttl=59 time=0.828 ms
64 bytes from hkg07s39-in-f14.1e100.net (142.250.204.78): icmp_seq=4 ttl=59 time=0.886 ms
64 bytes from hkg07s39-in-f14.1e100.net (142.250.204.78): icmp_seq=5 ttl=59 time=0.887 ms
注意
如果商家镜像中该配置文件的末尾已经有了该配置项(例如v.ps)脚本会将前面被注释掉的
#precedence ::ffff:0:0/96 100
给取消注释,导致有两个相同的配置。这是没有办法的,无法通过单单一行命令应对这种情况 ;_;
该命令可能不适配老系统,可能不适配redhet系(未测试)
经测试大便11/12没有问题,ubuntu较新系统没有问题
#RePost #DevOps #Script #Network
转发工具之Gost简单用法
什么是Gost
GO语言实现的安全隧道
常用特性
这里仅列出我常使用到的特性
● 多协议支持
● 支持TCP/UDP
● TUN
● 支持转发链
安装
```bash# 当前3.0最新rc版本
wget
chmod +x gost
mv gost /usr/bin/gost
● 监听本地
● 省缺IP时默认为当前机器IP
配置文件方式
```yaml# gost.yml
log:
level: info
# stdout标准输出,none不打印日志
output: none #stdout
services:
● name: pod
addr: :2222
handler:
type: tcp
listener:
type: tcp
forwarder:
nodes:
- name: pod
addr: "[fd7a:115c:a1e0:ab12:4843:cd96:6255:5794]:22"
设置开启启动
编辑
```[Unit]
Description=GO Simple Tunnel
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/bin/gost
Restart=always
[Install]
WantedBy=multi-user.target
其他
对比
转发工具之Gost简单用法
什么是Gost
GO语言实现的安全隧道
常用特性
这里仅列出我常使用到的特性
● 多协议支持
● 支持TCP/UDP
● TUN
● 支持转发链
安装
```bash# 当前3.0最新rc版本
wget
chmod +x gost
mv gost /usr/bin/gost
**运行**
常见场景可能就是端口转发,具体可以参考官方文档: [端口转发](https://latest.gost.run/tutorials/port-forwarding/)
cli方式
```bashgost -L tcp://:8080/:8081
● 监听本地
:8080
,并将相关请求转发到8081
端口● 省缺IP时默认为当前机器IP
配置文件方式
```yaml# gost.yml
log:
level: info
# stdout标准输出,none不打印日志
output: none #stdout
services:
● name: pod
addr: :2222
handler:
type: tcp
listener:
type: tcp
forwarder:
nodes:
- name: pod
addr: "[fd7a:115c:a1e0:ab12:4843:cd96:6255:5794]:22"
运行
```bashgost -C /etc/gost/gost.yml
设置开启启动
编辑
/etc/systemd/system/gost.service
```[Unit]
Description=GO Simple Tunnel
After=network.target
Wants=network.target
[Service]
Type=simple
ExecStart=/usr/bin/gost
Restart=always
[Install]
WantedBy=multi-user.target
开机并启动
```bashsystemctl daemon-reload
systemctl enable gost --now
systemctl restart gost
systemctl status gost
其他
对比
Realm
, 配置和玩法复杂多了,如果仅用于端口转发我觉得还是Realm比较好,具体可以参考我写的转发工具之Realm极简用法
#RePost #Network #DevOps
关于优化服务器网络配置的配置文件,供参考:
```lua#需配合修改 open files 参数,才有效
#fs.file-max = 655360
#开启bbr
net.ipv4.tcpcongestioncontrol = bbr
net.core.default_qdisc = fq
#关闭rp_filter
#net.ipv4.conf.all.rp_filter = 0
#SSR 对于会出现突发空闲的长周期 TLS 连接有很大影响,所以关闭
net.ipv4.tcpslowstartafteridle = 0
#设置为1,当检测到 ICMP 黑洞时启用
net.ipv4.tcpmtuprobing = 1
#启用fastopen,跳过tcp3次握手
#net.ipv4.tcp_fastopen = 3
#ARP缓存的过期时间(单位毫秒)
#net.ipv4.neigh.default.base_reachable_time_ms = 600000
#在把记录标记为不可达之前,用多播/广播方式解析地址的最大次数
#net.ipv4.neigh.default.mcast_solicit = 20
#重发一个ARP请求前等待毫秒数
#net.ipv4.neigh.default.retrans_time_ms = 250
#Socket缓存配置
net.ipv4.tcp_rmem = 8192 262144 536870912
net.ipv4.tcp_wmem = 4096 16384 536870912
#TCP窗口大小,接收缓冲区可用buffer
net.ipv4.tcpadvwin_scale = -2
#限制写入队列中未发送字节的大小
net.ipv4.tcpnotsentlowat = 131072
#关闭IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1```
参考文章:
Message link
关于优化服务器网络配置的配置文件,供参考:
vi /etc/sysctl.conf
```lua#需配合修改 open files 参数,才有效
#fs.file-max = 655360
#开启bbr
net.ipv4.tcpcongestioncontrol = bbr
net.core.default_qdisc = fq
#关闭rp_filter
#net.ipv4.conf.all.rp_filter = 0
#SSR 对于会出现突发空闲的长周期 TLS 连接有很大影响,所以关闭
net.ipv4.tcpslowstartafteridle = 0
#设置为1,当检测到 ICMP 黑洞时启用
net.ipv4.tcpmtuprobing = 1
#启用fastopen,跳过tcp3次握手
#net.ipv4.tcp_fastopen = 3
#ARP缓存的过期时间(单位毫秒)
#net.ipv4.neigh.default.base_reachable_time_ms = 600000
#在把记录标记为不可达之前,用多播/广播方式解析地址的最大次数
#net.ipv4.neigh.default.mcast_solicit = 20
#重发一个ARP请求前等待毫秒数
#net.ipv4.neigh.default.retrans_time_ms = 250
#Socket缓存配置
net.ipv4.tcp_rmem = 8192 262144 536870912
net.ipv4.tcp_wmem = 4096 16384 536870912
#TCP窗口大小,接收缓冲区可用buffer
net.ipv4.tcpadvwin_scale = -2
#限制写入队列中未发送字节的大小
net.ipv4.tcpnotsentlowat = 131072
#关闭IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1```
参考文章:
Message link
#RePost #Script #DevOps #Network
测试服务器线路去回程方法:
测试去程路由的网址:
下面这个每天有次数限制:
下面是服务器上测试回程路由的脚本:
``
Message link
测试服务器线路去回程方法:
测试去程路由的网址:
下面这个每天有次数限制:
下面是服务器上测试回程路由的脚本:
``
shellwget -qO- git.io/besttrace | bash
``Message link
#RePost #Network
以下是关于WARP key的文档地址:
1. WARP – Wiki & 文档
包含从账户池获取WARP 账号的API 文档。
1. Cloudflare Warp提取WireGuard配置文件
介绍如何提取Cloudflare Warp的WireGuard配置文件。
1. WARP使用教程:入门篇
这是一个WARP的使用教程,包の了如何在root文件夹下生成/root/wgcf-account.toml文件,以及如何替换license_key为你自己的warp+ key。
1. yonggekkk/warp-yg: warp多功能一键脚本
这是一个warp多功能一键脚本项目,拥有查看VPS本地IP、netflix、chatgpt(网页与客户端)是否解锁等情况、endpoint对端优选IP等功能。同时,该项目也会介绍在VPS平台与Replit平台无限生成warp+密钥与warp配置.
以上信息仅供参考,详情请参阅原文档。
以下是关于WARP key的文档地址:
1. WARP – Wiki & 文档
包含从账户池获取WARP 账号的API 文档。
1. Cloudflare Warp提取WireGuard配置文件
介绍如何提取Cloudflare Warp的WireGuard配置文件。
1. WARP使用教程:入门篇
这是一个WARP的使用教程,包の了如何在root文件夹下生成/root/wgcf-account.toml文件,以及如何替换license_key为你自己的warp+ key。
1. yonggekkk/warp-yg: warp多功能一键脚本
这是一个warp多功能一键脚本项目,拥有查看VPS本地IP、netflix、chatgpt(网页与客户端)是否解锁等情况、endpoint对端优选IP等功能。同时,该项目也会介绍在VPS平台与Replit平台无限生成warp+密钥与warp配置.
以上信息仅供参考,详情请参阅原文档。
#RePost #Script #Tool #Network
nnr 的tcp窗口优化:
Message link
nnr 的tcp窗口优化:
wget http://sh.nekoneko.cloud/tools.sh -O tools.sh && bash tools.sh
Message link
#DevOps #RePost #Network nftables 入门:从配置文件到端口转发 gpt: 这篇文章主要介绍了如何使用nftables进行防火墙配置和端口转发。文章首先解释了Netfilter和nftables的基本原理,然后详细介绍了如何编写和理解nftables的配置文件,以及如何在OpenWrt上使用nftables进行端口转发。作者还提供了一些实用的参考资源,包括nftables官方wiki和其他Linux发行版的相关文档。最后,作者分享了他的个人经验和教训,鼓励读者自己动手实践和探索nftables的更多功能。
https://blog.rachelt.one/articles/new-to-nftables-from-config-to-dnat/
source
https://blog.rachelt.one/articles/new-to-nftables-from-config-to-dnat/
source