Comments 7
Это был косяк в пакете firewall4, либо обновите его
господи, я три дня мучался с этой проблемой. Firewall зависал на загрузке списков. Начинал съедать всю память, потом вылетал с ошибкой. Пришлось из-за этого накатить версию 21. А это всего лишь в этом проблема была, а не моя ошибка... Благодарю за информацию и за инструкцию в целом
Кстати, даблчек загрузки списков не панацея. Было отключение света и сеть у провайдера поднялась спустя энное время после загрузки роутера...
Спасибо за статью.
Не проще ли использовать специализированный софт (OpenClash) для выборочного обхода блокировок на OpenWrt?
OpenClash - централизованный выборочный обход блокировок на роутере: https://zerolab.net/openclash-tsientralizovannyi-vyborochnyi-obkhod-blokirovok-na-routierie/
Пример конфигурации: https://zerolab.net/clash-vyborochnyi-obkhod-blokirovok/
Рекомендую использовать OpenClash сразу с моими правками: https://github.com/zerolabnet/OpenClash
Clash Antifilter Lists: https://github.com/zerolabnet/clash-antifilter-lists
Благодарю, материал впечатляющий!
У меня затык с фаерволлом. Скрипт фризит на firewall restart, думал поможет обновление пакета, но нет. С тоннелем все хорошо. Проблема со списками, файлы загружаются и в них есть списки, сеты тоже создаются, но в них нет списков IP. Вот вывод командв просмотра списков:
# nft list ruleset | grep -A 10 vpn_ip
set vpn_ip {
type ipv4_addr
flags interval
auto-merge
}
set vpn_subnets {
type ipv4_addr
flags interval
auto-merge
}
--
iifname "br-lan" ip daddr @vpn_ip counter packets 0 bytes 0 meta mark set 0x00000001 comment "!fw4: mark_ip"
iifname "br-lan" ip daddr @vpn_community counter packets 0 bytes 0 meta mark set 0x00000001 comment "!fw4: mark_community"
}
chain mangle_postrouting {
type filter hook postrouting priority mangle; policy accept;
}
chain mangle_input {
type filter hook input priority mangle; policy accept;
}
Сегодня сделал все шаг за шагом на свежей установке OpenWrt 22.03.2, перед этим просто обновил все пакеты. Изменил только путь хранения списков на примонтированной флешке /mnt/sda1/lst. При запуске скрипта все равно вижу невозможность рестарта firewall.
root@mRouter:/# /etc/init.d/hirkn
Run download lists
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 1909 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 1071k 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 11864 100 11864 0 0 12920 0 --:--:-- --:--:-- --:--:-- 23262
Firewall restart
Killed
The rendered ruleset contains errors, not doing firewall restart.
Syntax: /etc/init.d/hirkn [command]
Как я думаю, что он просто не может съесть правила.
config zone
option name 'wg'
option family 'ipv4'
option masq '1'
option output 'ACCEPT'
option forward 'REJECT'
option input 'REJECT'
option mtu_fix '1'
option network 'wg0'
config forwarding
option src 'lan'
option dest 'wg'
config ipset
option name 'vpn_ip'
option match 'dst_net'
option loadfile '/mnt/sda1/lst/ip.lst'
config ipset
option name 'vpn_subnets'
option match 'dst_net'
option loadfile '/mnt/sda1/lst/subnet.lst'
config ipset
option name 'vpn_community'
option match 'dst_net'
option loadfile '/mnt/sda1/lst/community.lst'
config rule
option name 'mark_subnet'
option src 'lan'
option dest '*'
option ipset 'vpn_subnets'
option target 'MARK'
option family 'ipv4'
list proto 'all'
option set_mark '0x1'
config rule
option name 'mark_ip'
option src 'lan'
option dest '*'
option ipset 'vpn_ip'
option target 'MARK'
option family 'ipv4'
list proto 'all'
option set_mark '0x1'
config rule
option name 'mark_community'
option src 'lan'
option dest '*'
option ipset 'vpn_community'
option target 'MARK'
option family 'ipv4'
list proto 'all'
option set_mark '0x1'
В общем, я сам решил проблему. Вдруг у кого возникнет такая же, я решил ее путем исправления синтаксиса /etc/config/firewall по примеру шаблона обновленного пакета firewall4:
config zone
option name wg
option family ipv4
option masq 1
option output ACCEPT
option forward REJECT
option input REJECT
option mtu_fix 1
option network wg0
config forwarding
option src lan
option dest wg
config ipset
option name vpn_ip
option match dst_net
option loadfile /mnt/sda1/lst/ip.lst
config ipset
option name vpn_subnets
option match dst_net
option loadfile /mnt/sda1/lst/subnet.lst
config ipset
option name vpn_community
option match dst_net
option loadfile /mnt/sda1/lst/community.lst
config rule
option name mark_subnet
option src lan
option dest *
option ipset vpn_subnets
option target MARK
option family ipv4
list proto 'all'
option set_mark 0x1
config rule
option name mark_ip
option src lan
option dest *
option ipset vpn_ip
option target MARK
option family ipv4
list proto 'all'
option set_mark 0x1
config rule
option name mark_community
option src lan
option dest *
option ipset vpn_community
option target MARK
option family ipv4
list proto 'all'
option set_mark 0x1
Оставлю это здесь, вдруг кому поможет)
Точечная маршрутизация на роутере с OpenWrt. Часть 2: Поиск и исправление ошибок