Recent posts

#91
Всем привет. В общем, долгая дорога по настройке sing-box завершена, если кому интересно напишу список команд и конфиг файл(все заворачиваем в tun, но ru,рф ходят напрямую) пришлю :

Установка Sing-box:
1) pkg install bash
2) cd /tmp
3) fetch https://github.com/Opn...g-box.for.OPNsense.zip
4) unzip sing-box.for.OPNsense.zip
5) chmod +x install.sh
6) bash ./install.sh
7) На этом этапе, должен появитья в opnsense в VPN "Proxy Suite", если нет, то просто перезагрузите страницу".

Настройка конфига sing-box:
1) Можно через веб интерфейс, в VPN > "Proxy Suite" скопировать и вставить мой конфиг (в моём конфиге нужно будет добавить информацию о своём ключе) и нажать на иконку дискеты, тем самым сохранив.
2) Вариант через терминал, просто открываем через редактор (vi,vim,nano) файл config.json по пути /usr/local/etc/sing-box/config.json, ну и удаляем из него все что написал дядюшка Ли и вставляем мой конфиг (в моём конфиге нужно будет добавить информацию о своём ключе) и сохраняем.
3) Перезапускаем сервис командой service sing-box restart
4) Проверям, что в VPN>Proxy Suite нет ошибок (во втором окне будет лог).

 #
Мой конфиг
{
"log": {
"disabled": false,
"level": "info",
"timestamp": true
},

"experimental": {
"clash_api": {
"external_controller": "0.0.0.0:9090",
"external_ui": "/usr/local/etc/sing-box/ui",
"default_mode": "Rule"
},
"cache_file": {
"enabled": true,
"path": "/usr/local/etc/sing-box/cache.db"
}
},

"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"interface_name": "tun_3000",
"mtu": 1450,
"address": ["172.19.0.0/24"],
"auto_route": false,
"strict_route": false,
"endpoint_independent_nat": false,
"stack": "system"
}
],

"outbounds": [
{
"tag": "select",
"type": "selector",
"default": "auto",
"outbounds": ["auto"]
},

{
"tag": "auto",
"type": "urltest",
"outbounds": ["vless-main"],
"url": "https://www.gstatic.com/generate_204",
"interval": "1m",
"tolerance": 50
},

{
"tag": "vless-main",
"type": "vless",
"server": "АДРЕС САЙТА VPS",
"server_port": 443,
"uuid": "ID Пользовательского ключа",
"flow": "xtls-rprx-vision",
"packet_encoding": "xudp",
"tls": {
"enabled": true,
"server_name": "www.google.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "ПУБЛИЧНЫЙ КЛЮЧ",
"short_id": "НУ И SID"
}
}
},

{
"tag": "direct",
"type": "direct"
}
],

"route": {
"rules": [
{
"action": "sniff",
"inbound": "tun-in",
"sniffer": ["http", "tls", "quic"]
},

{
"action": "route",
"rule_set": ["GeoSite-Private"],
"outbound": "direct"
},

{
"action": "route",
"domain_keyword": ["yandex", "yastatic"],
"outbound": "direct"
},

{
"action": "route",
"domain": [
"vk.com",
"habr.com",
"avito.ru",
"4pda.to",
"aliexpress.ru",
"telegram.org",
"t.me",
"ytimg.com",
"cdninstagram.com"
],
"domain_suffix": [
".ru",
".рф",
".xn--p1ai"
],
"ip_cidr": [
"157.240.0.0/16",
"169.45.0.0/16",
"169.57.0.0/16",
"192.168.0.0/16",
"172.16.0.0/16",
"10.0.0.0/8"
],
"outbound": "direct"
},

{
"action": "route",
"process_name": ["transmission", "steam", "codium"],
"outbound": "direct"
},

{
"action": "reject",
"rule_set": ["Category-Ads"]
}
],

"rule_set": [
{
"tag": "Category-Ads",
"type": "remote",
"url": "https://testingcf.jsde...e/category-ads-all.srs",
"format": "binary",
"download_detour": "direct"
},
{
"tag": "GeoSite-Private",
"type": "remote",
"url": "https://testingcf.jsde...eo/geosite/private.srs",
"format": "binary",
"download_detour": "direct"
}
],

"final": "select",
"auto_detect_interface": false
},

"dns": {
"servers": [
{
"tag": "local",
"type": "udp",
"server": "9.9.9.9"
}
],
"final": "local"
}
}




Настройка TUN интерфейса:
1) Переходи Interfaces → Assignments, проверям что интерфейс добавлен, если нет, то добавляем (лучше всего назвать его так же как он и отображается).
2) Добавляем шлюз для TUN, для этого переходим в System>Gateways>Configuration, наживаем на + и добавляем шлюз Name:GW_tun_3000, Interface: tun_3000(ну или как вы назвали), IP Address:172.19.0.1 и ставим галочку напротив Far Gateway.
3) "Оно не обязательно, но мало ли..." Переходим в Interface>tun_3000(ну или как вы назвали), включаем интерфейс ставим галочку напротив Enable Interface в пункте IPv4 Configuration Type выбираем Static IPv4 и в самом низу в IPv4 address вводим 172.19.0.1 маска 24 (по умолчанию стоит 32).
4) Важно предоставить DNS этому интерфейсу, т.к. у меня настроен Unbound DNS, то у меня поумолчанию оно уже настроено.

Настройка Firewall
В общем, тут мы будем настраивать что бы трафик пошёл через итерфейс tun_3000 для определенного VLAN или просто для интерфеса (не знаю как он у вас называется, возможно просто LAN), так что попытайтесь уследить за руками.
1) Переходим в Firewall>NAT>Outbound и там в Mode ввыбираем Hybrid outbound NAT rule generation(automatically generated rules are applied after manual rules) и сохраняем.
2) Далее настроим правило, перейдя в Firewall>Rules выбираем интерфейс, который требуется завернуть в tun_3000, для примера...LAN, добавляем новое правило нажав на "+" и выбираем Action:Pass, Interface:LAN, Protocol:TCP/UDP, Source:LAN net, Gateway:GW_tun_3000 и сохраняем.
3) Нужно поднять данное правило наверх (но ниже разрешающего правила доступа в интернет), сохраняем изменения.
4) Проверяем, что если зайти на 2ip.ru, то ваш ip будет провайдера, а если перейти на 2ip.me то ip будет вашего VPS.
#92
Я на 4pda сделал инструкцию, продублирую сюда:


Всем привет. В общем, долгая дорога по настройке sing-box завершена, если кому интересно напишу список команд и конфиг файл(все заворачиваем в tun, но ru,рф ходят напрямую) пришлю :

Установка Sing-box:
1) pkg install bash
2) cd /tmp
3) fetch https://github.com/Opn...g-box.for.OPNsense.zip
4) unzip sing-box.for.OPNsense.zip
5) chmod +x install.sh
6) bash ./install.sh
7) На этом этапе, должен появитья в opnsense в VPN "Proxy Suite", если нет, то просто перезагрузите страницу".

Настройка конфига sing-box:
1) Можно через веб интерфейс, в VPN > "Proxy Suite" скопировать и вставить мой конфиг (в моём конфиге нужно будет добавить информацию о своём ключе) и нажать на иконку дискеты, тем самым сохранив.
2) Вариант через терминал, просто открываем через редактор (vi,vim,nano) файл config.json по пути /usr/local/etc/sing-box/config.json, ну и удаляем из него все что написал дядюшка Ли и вставляем мой конфиг (в моём конфиге нужно будет добавить информацию о своём ключе) и сохраняем.
3) Перезапускаем сервис командой service sing-box restart
4) Проверям, что в VPN>Proxy Suite нет ошибок (во втором окне будет лог).

 #
Мой конфиг
{
"log": {
"disabled": false,
"level": "info",
"timestamp": true
},

"experimental": {
"clash_api": {
"external_controller": "0.0.0.0:9090",
"external_ui": "/usr/local/etc/sing-box/ui",
"default_mode": "Rule"
},
"cache_file": {
"enabled": true,
"path": "/usr/local/etc/sing-box/cache.db"
}
},

"inbounds": [
{
"type": "tun",
"tag": "tun-in",
"interface_name": "tun_3000",
"mtu": 1450,
"address": ["172.19.0.0/24"],
"auto_route": false,
"strict_route": false,
"endpoint_independent_nat": false,
"stack": "system"
}
],

"outbounds": [
{
"tag": "select",
"type": "selector",
"default": "auto",
"outbounds": ["auto"]
},

{
"tag": "auto",
"type": "urltest",
"outbounds": ["vless-main"],
"url": "https://www.gstatic.com/generate_204",
"interval": "1m",
"tolerance": 50
},

{
"tag": "vless-main",
"type": "vless",
"server": "АДРЕС САЙТА VPS",
"server_port": 443,
"uuid": "ID Пользовательского ключа",
"flow": "xtls-rprx-vision",
"packet_encoding": "xudp",
"tls": {
"enabled": true,
"server_name": "www.google.com",
"utls": {
"enabled": true,
"fingerprint": "chrome"
},
"reality": {
"enabled": true,
"public_key": "ПУБЛИЧНЫЙ КЛЮЧ",
"short_id": "НУ И SID"
}
}
},

{
"tag": "direct",
"type": "direct"
}
],

"route": {
"rules": [
{
"action": "sniff",
"inbound": "tun-in",
"sniffer": ["http", "tls", "quic"]
},

{
"action": "route",
"rule_set": ["GeoSite-Private"],
"outbound": "direct"
},

{
"action": "route",
"domain_keyword": ["yandex", "yastatic"],
"outbound": "direct"
},

{
"action": "route",
"domain": [
"vk.com",
"habr.com",
"avito.ru",
"4pda.to",
"aliexpress.ru",
"telegram.org",
"t.me",
"ytimg.com",
"cdninstagram.com"
],
"domain_suffix": [
".ru",
".рф",
".xn--p1ai"
],
"ip_cidr": [
"157.240.0.0/16",
"169.45.0.0/16",
"169.57.0.0/16",
"192.168.0.0/16",
"172.16.0.0/16",
"10.0.0.0/8"
],
"outbound": "direct"
},

{
"action": "route",
"process_name": ["transmission", "steam", "codium"],
"outbound": "direct"
},

{
"action": "reject",
"rule_set": ["Category-Ads"]
}
],

"rule_set": [
{
"tag": "Category-Ads",
"type": "remote",
"url": "https://testingcf.jsde...e/category-ads-all.srs",
"format": "binary",
"download_detour": "direct"
},
{
"tag": "GeoSite-Private",
"type": "remote",
"url": "https://testingcf.jsde...eo/geosite/private.srs",
"format": "binary",
"download_detour": "direct"
}
],

"final": "select",
"auto_detect_interface": false
},

"dns": {
"servers": [
{
"tag": "local",
"type": "udp",
"server": "9.9.9.9"
}
],
"final": "local"
}
}




Настройка TUN интерфейса:
1) Переходи Interfaces → Assignments, проверям что интерфейс добавлен, если нет, то добавляем (лучше всего назвать его так же как он и отображается).
2) Добавляем шлюз для TUN, для этого переходим в System>Gateways>Configuration, наживаем на + и добавляем шлюз Name:GW_tun_3000, Interface: tun_3000(ну или как вы назвали), IP Address:172.19.0.1 и ставим галочку напротив Far Gateway.
3) "Оно не обязательно, но мало ли..." Переходим в Interface>tun_3000(ну или как вы назвали), включаем интерфейс ставим галочку напротив Enable Interface в пункте IPv4 Configuration Type выбираем Static IPv4 и в самом низу в IPv4 address вводим 172.19.0.1 маска 24 (по умолчанию стоит 32).
4) Важно предоставить DNS этому интерфейсу, т.к. у меня настроен Unbound DNS, то у меня поумолчанию оно уже настроено.

Настройка Firewall
В общем, тут мы будем настраивать что бы трафик пошёл через итерфейс tun_3000 для определенного VLAN или просто для интерфеса (не знаю как он у вас называется, возможно просто LAN), так что попытайтесь уследить за руками.
1) Переходим в Firewall>NAT>Outbound и там в Mode ввыбираем Hybrid outbound NAT rule generation(automatically generated rules are applied after manual rules) и сохраняем.
2) Далее настроим правило, перейдя в Firewall>Rules выбираем интерфейс, который требуется завернуть в tun_3000, для примера...LAN, добавляем новое правило нажав на "+" и выбираем Action:Pass, Interface:LAN, Protocol:TCP/UDP, Source:LAN net, Gateway:GW_tun_3000 и сохраняем.
3) Нужно поднять данное правило наверх (но ниже разрешающего правила доступа в интернет), сохраняем изменения.
4) Проверяем, что если зайти на 2ip.ru, то ваш ip будет провайдера, а если перейти на 2ip.me то ip будет вашего VPS.
#93
25.7, 25.10 Series / Re: GeoIP list no more correct...
Last post by IPinfo - January 23, 2026, 09:01:57 AM
Hi meyergru,

Thank you for your thoughts and feedback. What you have raised could be an alarming concern for us. But I can assure you this is not the case.

> Potentially, this could have been caused by a partial file upload / sync to some mirrors.
> one even might get a partial file when an update is just ongoing.

I don't think it's possible. The data is downloaded as a compressed, gzipped file. If the data were corrupted in some way, the data couldn't have been parsed. We don't deliver any data in plaintext, so partially downloading and parsing it into an ingestible dataset isn't possible.

Also, I don't believe our data delivery strategy leverages caching or mirroring in a way that could lead to data inconsistencies. Everyone downloads what's in storage the moment we upload it. There could be some Cloudflare nuances, but still, even if you download yesterday's data, I can see that the Belgium IP address data is consistent for 18-22 January.

Another issue is that we do support checksums and have a dedicated endpoint for that. But because none of our data is uncompressed and always comes in binary format, data corruption or data integrity issues are going to be quite impossible. But checksums do exist as a secondary validation point.

---

I am trying to think what could be wrong. I really need to present a case to engineering with IP addresses to support the concerns.

The best path forward would be in the future:

1. Identify the IP addresses that are concerning.
2. Check our website. Our website data is based on our datasets. In fact, our datasets are first produced, and then the website data is deployed. Using our datasets ensures you have the latest data.
3. If there are any inconsistencies or concerns, post in our community (https://community.ipinfo.io/) if they are public IPs or to support (https://ipinfo.io/support) if it is your own home IP address.

— Abdullah | DevRel, IPinfo
#94
Tutorials and FAQs / Re: Tutorial: Caddy (Reverse P...
Last post by Monviech (Cedrik) - January 23, 2026, 08:55:10 AM
If you want to use caddy for hosting your websites you will also probably need php and databases most likely, better to run that on a dedicated machine.

Other than that, running caddy as the intended reverse proxy and layer 4 proxy on the firewall is safe. If you want the highest security run it as www user (supported from the GUI).
#95
Tutorials and FAQs / Re: Tutorial: Caddy (Reverse P...
Last post by n3 - January 23, 2026, 08:52:54 AM
Thanks for the clear answer. This is also my understanding and therefor I do not use Plugins/Addons to host other services. Caddy will be the first exception and it is written, that you can also host a simply website. But not on the firewall.

Is it recommend to use this Plugin, or is it better to deploy caddy as a seperate lxc/vm?
#96
26.1 Series / Re: Upgrade to RC1 successful
Last post by Monviech (Cedrik) - January 23, 2026, 08:08:23 AM
Thanks for reporting this was a small oversight

https://github.com/opnsense/core/pull/9642
#97
25.7, 25.10 Series / OPNsense 25.7.10 Ethernet deta...
Last post by burns1230 - January 23, 2026, 07:58:49 AM
Hi everyone!
I recently upgraded from 25.1 to 25.7.
The current version is 25.7.10.

However, after upgrading, the LAN keeps repeating detach and attach, and ultimately cannot connect to the system.
The system can only be used again after reboot.

System: Log Files: General

2026-01-23T07:32:15 Notice kernel     <6>[82529] bge8: link state changed to UP
2026-01-23T07:32:15 Notice opnsense   /usr/local/etc/rc.linkup: DEVD: Ethernet attached event for opt6(bge8)
2026-01-23T07:32:13 Notice kernel     <6>[82527] bge8: link state changed to DOWN
2026-01-23T07:32:13 Notice opnsense   /usr/local/etc/rc.linkup: DEVD: Ethernet detached event for opt6(bge8)
2026-01-23T07:32:07 Notice kernel     <6>[82522] bge8: link state changed to UP
2026-01-23T07:32:07 Notice opnsense   /usr/local/etc/rc.linkup: DEVD: Ethernet attached event for opt6(bge8)
2026-01-23T07:32:02 Notice opnsense   /usr/local/etc/rc.linkup: DEVD: Ethernet detached event for opt6(bge8)
2026-01-23T07:32:02 Notice kernel     <6>[82516] bge8: link state changed to DOWN

What should I do?
Should I downgrade to 25.1?

#98
25.7, 25.10 Series / Re: OPNsense 25.7.11 - host/ne...
Last post by OPNenthu - January 23, 2026, 07:25:15 AM
Quote from: JustMeHere on January 23, 2026, 07:15:02 AMWhy is this discovering hosts outside of my firewall?  I can't fathom why it would try to discover anything on the WAN port. 

It'll see things on the same L2 segment, which might include ISP equipment.

I think in the latest patch that's being tested now you can control which interfaces it discovers on, if you want to limit it.
#99
25.7, 25.10 Series / Re: OPNsense 25.7.11 - host/ne...
Last post by JustMeHere - January 23, 2026, 07:15:02 AM
Why is this discovering hosts outside of my firewall?  I can't fathom why it would try to discover anything on the WAN port. 
#100
25.7, 25.10 Series / OPNsense 25.7.10 . Noticeke...
Last post by dmacgowan - January 23, 2026, 06:10:16 AM
Received the following alert this evening for my firewall. It corresponded to stopping of Internet access.

2026-01-22T22:51:13-06:00Noticekernel[370] nvme0: temperature above threshold

My firewall is installed in my garage in Minnesota and the outside air temperature is below -20 F degrees. Health report states the CPUTEMP is 0 Degrees C. My garage is probably below -5 right now.

The graph seems to not allow below O measurements.
Any advice besides heating my firewall with a hair dryer?