init.d: openwrt-minimal iptables

This commit is contained in:
bol-van 2024-10-21 18:29:51 +03:00
parent de095dd2f2
commit 00e0b28616
3 changed files with 98 additions and 6 deletions

View File

@ -1720,10 +1720,14 @@ install_easy.sh автоматизирует ручные варианты пр
Установка на openwrt в режиме острой нехватки места на диске Установка на openwrt в режиме острой нехватки места на диске
------------------------------------------------------------ ------------------------------------------------------------
Инструкция только для openwrt 22 и выше с nftables. Требуется около 120 кб на диске. Требуется около 120-150 кб на диске. Придется отказаться от всего, кроме tpws.
Придется отказаться от всего, кроме tpws.
* Инструкция для openwrt 22 и выше с nftables.
Никаких зависимостей устанавливать не нужно. Никаких зависимостей устанавливать не нужно.
Установка :
Скопируйте все из init.d/openwrt-minimal/tpws/* в корень openwrt. Скопируйте все из init.d/openwrt-minimal/tpws/* в корень openwrt.
Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws. Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws.
Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws
@ -1736,9 +1740,37 @@ fw4 reload
/etc/init.d/tpws disable /etc/init.d/tpws disable
/etc/init.d/tpws stop /etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/init.d/tpws /usr/bin/tpws rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws /usr/bin/tpws
fw4 restart fw4 restart
* Инструкция для openwrt 21 и ниже с iptables.
Установите зависимости :
opkg update
opkg install iptables-mod-extra
только для IPV6 : opkg install ip6tables-mod-nat
Убедитесь, что в /etc/firewall.user нет ничего значимого.
Если есть - не следуйте слепо инструкции. Обьедините код или создайте свой firewall include в /etc/config/firewall.
Установка :
Скопируйте все из init.d/openwrt-minimal/tpws/* в корень openwrt.
Скопируйте бинарник tpws подходящей архитектуры в /usr/bin/tpws.
Установите права на файлы : chmod 755 /etc/init.d/tpws /usr/bin/tpws
Отредактируйте /etc/config/tpws
/etc/init.d/tpws enable
/etc/init.d/tpws start
fw3 restart
Полное удаление :
/etc/init.d/tpws disable
/etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws
touch /etc/firewall.user
fw3 restart
Android Android
------- -------

View File

@ -1,9 +1,12 @@
Minimal tpws startup script for low storage openwrt with nftables. Minimal tpws startup script for low storage openwrt.
--- openwrt with NFTABLES (22+)
Make sure you are running openwrt with nftables, not iptables.
No opkg dependencies required ! No opkg dependencies required !
* install : * install :
Make sure you are running openwrt with nftables, not iptables.
Copy everything from tpws directory to the root of the router. Copy everything from tpws directory to the root of the router.
Copy tpws binary for your architecture to /usr/bin/tpws Copy tpws binary for your architecture to /usr/bin/tpws
Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws
@ -16,5 +19,34 @@ fw4 reload
/etc/init.d/tpws disable /etc/init.d/tpws disable
/etc/init.d/tpws stop /etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/init.d/tpws rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws
fw4 restart fw4 restart
--- openwrt with IPTABLES (21-)
Make sure you are running openwrt with iptables, not nftables.
Make sure you do not have anything valuable in /etc/firewall.user.
If you have - do not blindly follow instruction in firewall.user part.
Merge the code instead or setup your own firewall include in /etc/config/firewall.
opkg update
opkg install iptables-mod-extra
IPV6 ONLY : opkg install ip6tables-mod-nat
* install :
Copy everything from tpws directory to the root of the router.
Copy tpws binary for your architecture to /usr/bin/tpws
Set proper access rights : chmod 755 /etc/init.d/tpws /usr/bin/tpws
EDIT /etc/config/tpws
/etc/init.d/tpws enable
/etc/init.d/tpws start
fw3 restart
* full uninstall :
/etc/init.d/tpws disable
/etc/init.d/tpws stop
rm -f /etc/nftables.d/90-tpws.nft /etc/firewall.user /etc/init.d/tpws
touch /etc/firewall.user
fw3 restart

View File

@ -0,0 +1,28 @@
TP_PORT=900
TP_USER=daemon
exists()
{
which "$1" >/dev/null 2>/dev/null
}
ipt()
{
$IPTABLES $FW_EXTRA_PRE -C "$@" $FW_EXTRA_POST >/dev/null 2>/dev/null || $IPTABLES $FW_EXTRA_PRE -I "$@" $FW_EXTRA_POST
}
redirect_port()
{
ipt PREROUTING -t nat -p tcp --dport $1 -j REDIRECT --to-port $2
ipt OUTPUT -t nat -p tcp --dport $1 -m owner ! --uid-owner $TP_USER -j REDIRECT --to-port $2
}
redirect()
{
redirect_port 80 $TP_PORT
redirect_port 443 $TP_PORT
}
for IPTABLES in iptables ip6tables; do
exists $IPTABLES && redirect
done