分类目录归档:未分类

IP话机对接陕西电信固话IMS

该教程使用到的设备/软件:

  1. 电信光猫 (需将 vlan45 透传给路由器)
  2. RouterOS 路由器
  3. SIP客户端 (可以是 IPPBX / IP话机 / SIP软件)

第一步:获取固话信息

使用 telecomadmin 账号登录光猫,找到以下信息

  1. 本地域名,通常是 sn.ctcims.cn
  2. 主用 Outbound 服务器地址
  3. SIP用户名和密码 (可以通过备份文件提取,也可以直接问电信小哥要)

第二步:配置路由器

以下内容假设光猫接在路由器 ether1 口,光猫已设置将所有 vlan 透传给路由器。

# 在 ether1 上添加 vlan45 接口
/interface vlan
add interface=ether1 name=vlan45-ims vlan-id=45

# 在 vlan45 接口上获取IP
/ip dhcp-client
add add-default-route=no interface=vlan45-ims use-peer-dns=no use-peer-ntp=no

# 添加 IMS 路由
/ip route
add dst-address=172.25.130.0/23 gateway=vlan45-ims

# 对接口启用NAT (手动将规则调整到防火墙前面)
/ip firewall nat
add action=masquerade chain=srcnat out-interface=vlan45-ims

# 防火墙对接口放行 (手动将规则调整到防火墙前面)
/ip firewall filter
add action=accept chain=input in-interface=vlan45-ims
add action=accept chain=forward in-interface=vlan45-ims

# 启用 SIP Helper
/ip firewall service-port
set sip disabled=no ports=5060,5061 sip-direct-media=yes sip-timeout=1h

第三步:配置客户端

以下介绍三种客户端的设置方法,MicroSIP 软件 , 讯时 IPPBX 和 方位 IP话机

MicroSIP 的配置示例如下:

其中
SIP服务器域名 填写 第一步获取到的 本地域名
SIP 代理 填写 第一步获取到的 主用 Outbound 服务器地址 (需加上 5060 端口号)
用户名和密码 填写 第一步获取到的用户名和密码

讯时 IPPBX 的配置示例如下:

基本设置
将STUN关闭

SIP外线-注册选项
默认注册服务器代理服务器 填写 第一步获取到的 主用 Outbound 服务器地址 (需加上 5060 端口号)
本地端口 需修改为非 5060 的值
用户端域名 填写 第一步获取到的 本地域名
需勾选上 IMS
接入网信息 填写为 第一步获取到的 本地域名

SIP外线-添加账户
添加账号时 号码/用户名 只需输入电话号码部分,无需输入 @及后面的域名

方位 IP 话机的配置如下:

用户名输入电话号码部分,如 +862987654321
用户认证输入电话号码+域名的部分,如 +862987654321@sn.ctcims.cn
验证密码输入 密码
SIP服务器地址输入 本地域名,如: sn.ctcims.cn
代理服务器地址输入 Outbound 服务器地址,如:172.25.130.1

不兼容的设备

Yealink IP 话机无法直接注册到电信IMS设备,因为它在发送 REGISTER 命令时,附带了默认的端口号 5060(实际不能带端口号),导致注册失败。

Confluence 导出 PDF 报错解决方案

添加调试记录

在 管理 – 日志与性能分析 – 自定义日志设置 中,添加一条记录:
com.atlassian.confluence.impl.util.sandbox ,级别为 DEBUG

/var/atlassian/application-data/confluence/logs/atlassian-confluence.log 中查看具体报错原因。

安装缺失依赖

apt install libxrender1 libxtst6 libxi6

禁用 SSH 工具的 X-11 转发

如果你的 SSH 工具默认启用了 X-11 转发 (如Mobaxterm),则需要禁用掉,然后重启 Confluence。

配置 iptables 限制端口只允许从国内IP发起访问

1. 安装软件包

sudo apt install ipset iptables netfilter-persistent ipset-persistent iptables-persistent

2. 启用配置持久保存功能

sudo systemctl enable netfilter-persistent
sudo systemctl start netfilter-persistent

3. 导入中国IP列表
IP列表来自 ipip.net (https://github.com/17mon/china_ip_list)

4. 对指定端口添加限制
其中 in-interface 修改为你的外网接口,destination-port 修改为想要限制的端口

iptables -A INPUT --in-interface eth0 --protocol tcp --destination-port 22 --match state --state NEW --match set ! --match-set ChinaIP src -j DROP
iptables -L -v -n --line-numbers

5. 保存修改

netfilter-persistent save

在 Ubuntu 20.04 中安装 Racadm 及 DCISM

软件包作用:
Racadm – 在 Ubuntu 中使用命令行控制 iDRAC (本机操作无需认证)
Dcism – 将 OS 操作系统信息同步到 iDRAC 信息页面

安装脚本:

#!/bin/bash

echo "" > /etc/apt/sources.list.d/linux.dell.com.sources.list

echo "deb http://linux.dell.com/repo/community/openmanage/10200/focal focal main" >> /etc/apt/sources.list.d/linux.dell.com.sources.list
echo "deb http://linux.dell.com/repo/community/openmanage/iSM/4200/focal focal main" >> /etc/apt/sources.list.d/linux.dell.com.sources.list
gpg --keyserver pool.sks-keyservers.net --recv-key 1285491434D8786F 
gpg -a --export 1285491434D8786F | apt-key add - 

apt update
apt install -y dcism srvadmin-idracadm8 srvadmin-hapi

if [ ! -f /usr/lib/x86_64-linux-gnu/libssl.so ]; then
	ln -s /usr/lib/x86_64-linux-gnu/libssl.so.1.1 /usr/lib/x86_64-linux-gnu/libssl.so
fi

systemctl start dcismeng.service

RouterOS 阿里云/腾讯云 DDNS 脚本

将需要的脚本添加到 /system script 里,并在 /system Scheduler 里设置为每分钟执行一次。
根据说明修改开头的五个变量,即可实现阿里云/腾讯云域名的DDNS。

注意事项:
该脚本不会自动创建子域名,要更新的子域名必须事先添加好。

脚本及服务器端源代码看这里:
https://github.com/vibbow/routeros-ddns-script


脚本列表

ddns.rsc
IPv4 版本的 DDNS 脚本。

ddnsv6.rsc
IPv6 版本的 DDNS 脚本。如需双栈支持,请和 IPv4 版本脚本同时使用。

ddnsv6-for-pc.rsc
对指定 Mac 地址获取 IPv6 做 DDNS 的脚本。


更新日志

2021年12月1日
初始版本,仅支持 IPv4。

2023年3月15日
添加了对 IPv6 的初始支持。

2024年7月7日
支持对内网指定设备DDNS (根据Mac地址自动获取设备公网IPv6地址)

2024年7月22日
更新对 IPv6 的支持,兼容了单接口配置多个 IP 的情况。

2025年12月17日
支持了阿里云边缘安全加速,该服务TTL可以支持30秒。

Git 设置备忘录

github.com SSH 加速访问

修改 C:\Users\Dell\.ssh\config 文件,添加如下内容:

Host github.com
  User git
  Port 22
  Hostname github.com
  IdentityFile "C:/Users/Dell/.ssh/id_ecdsa"
  TCPKeepAlive yes
  ProxyCommand connect -S 127.0.0.1:7891 -a none %h %p

全局设置 GPG 签名工具

GPG4Win 下载地址:https://www.gpg4win.org/

git config --global gpg.program "C:/Program Files (x86)/GnuPG/bin/gpg.exe"

列举 GPG Key

gpg --list-secret-keys --keyid-format=long

针对 Git Repo 启用 GPG 签名

git config --local user.signingkey [YOUR GPG KEY]
git config --local commit.gpgsign true

Dell iDRAC 系统更新 Catalog 国内镜像

功能:通过将 Catalog 文件指向到 Dell 国内镜像,加速 iDRAC 自带更新功能的更新速度。

使用教程:
iDRAC 系统更新 功能里,选择 手动更新
位置类型 选择为 HTTPS
HTTPS 地址 设为 dell.vsean.net
已过期或无效的证书操作 选择为 忽略

然后正常检查安装更新即可

如有安装racadm,也可直接使用以下命令检查安装更新

racadm update -f Catalog.xml.gz -e dell.vsean.net -t HTTPS -a FALSE

服务器端源代码看这里
https://github.com/vibbow/dell-catalog-mirror


因为服务器换用 ECC 证书,iDRAC 7 / iDRAC 8 已无法兼容。故iDRAC 7 / iDRAC 8 只可以使用以下方式检查更新,不可自动更新。

位置类型 选择为 HTTP
HTTPS 地址 设为 dell.vsean.net
目录位置 设为 /

iDRAC7 目录文件名 使用 catalog_12g.xml.gz
iDRAC8 目录文件名 使用 catalog_13g.xml.gz

该 catalog 会不定期更新,不会实时同步官方最新版。
12G 最后同步日期 2022-12-26
13G 最后同步日期 2025-12-16


因为安装包签名变更的缘故,老版本的 iDRAC 7 / iDRAC 8 无法直接更新到最新版的 iDRAC

对于 iDRAC 7 版本低于 2.30.30.30 的用户,请先更新到 2.41.40.40 中间版本
https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=xtpx4&oscode=ws8r2

对于 iDRAC 8 版本低于 2.80.80.80 的用户,请先更新到 2.81.81.81中间版本
https://www.dell.com/support/home/zh-cn/drivers/driversdetails?driverid=5hn4r&oscode=w12r2

RouterOS 通用 Hairpin NAT 规则

/ip firewall address-list
add address=192.168.0.0/16 list=LAN
add address=172.16.0.0/12 list=LAN
add address=10.0.0.0/8 list=LAN

/ip firewall nat
add action=masquerade chain=srcnat comment="Hairpin NAT" dst-address-list=LAN src-address-list=LAN

以上规则可能不适用启用了VLAN划分了多子网的情况。

清理阿里云 ECS 无用进程

阿里云助手
/usr/loca/share/aliyun-assist/2.2.0.89/aliyun-service

systemctl stop aliyun
systemctl disable aliyun
rm /etc/systemd/system/aliyun.service
rm /usr/sbin/aliyun_installer
rm /usr/sbin/aliyun-service
rm -rf /usr/local/share/aliyun-assist
systemctl daemon-reload

阿里云助手守护进程
/usr/local/share/assist-daemon/assist_daemon

systemctl stop AssistDaemon
systemctl disable AssistDaemon
rm /etc/systemd/system/AssistDaemon.service
rm -rf /usr/local/share/assist-daemon
systemctl daemon-reload

阿里云盾
/usr/local/aegis/aegis_client/aegis_10_89/AliYunDun
/usr/local/aegis/aegis_update/AliYunDunUpdate

curl -sSL http://update.aegis.aliyun.com/download/uninstall.sh | bash
rm -rf /usr/local/aegis

云监控插件 Go 版
/usr/local/cloudmonitor/CmsGoAgent.linux-amd64

/usr/local/cloudmonitor/CmsGoAgent.linux-amd64 stop
/usr/local/cloudmonitor/CmsGoAgent.linux-amd64 uninstall
rm -rf /usr/local/cloudmonitor

RouterOS 屏蔽小米电视广告

因为使用到了正则式以及NXDOMAIN,需要RouterOS版本为 6.47 或更新版本

/ip dns static
add regexp="(^|\\.)(ad|ad1|shenghuo|xmpush)\\.xiaomi\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)(a|wtradv)\\.market\\.xiaomi\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)(bss|de|dvb|jellyfish|stat)\\.pandora\\.xiaomi\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)(d|migc|migcreport|mis)\\.g\\.mi\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)(notice|ppurifier)\\.game\\.xiaomi\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)(r|security)\\.browser\\.miui\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)adv\\.sec\\.intl\\.miui\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)adv\\.sec\\.miui\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)data\\.mistat\\.xiaomi\\.com\$" type=NXDOMAIN
add regexp="(^|\\.)union\\.mi\\.com\$" type=NXDOMAIN

以上代码直接复制进 RouterOS 的 Terminal 里执行即可。

域名规则来自 https://github.com/ACL4SSR/ACL4SSR/blob/master/Acl/backcn-banAD.acl