-
Notifications
You must be signed in to change notification settings - Fork 756
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
rawsend: sendto: Permission denied #1020
Comments
А подробности ? Какая система, ядро, используется ли контейнер, как настроены правила tables |
Дополню от себя: в отличие от автора запускаю dvtws. В логе каждые 10-15 мин лаги пока не перезапустишь (monit + скрипт отслеживания лога этим занимается) и по паре десятков подобных сообщений:
В файрволе стандартные правила блокировки входящих (хоть и простыня на 2 экрана, если нужно - скину) rc.d скрипт: #!/bin/sh
#
# PROVIDE: dvtws
# REQUIRE: SERVERS
# KEYWORD: shutdown
. /etc/rc.subr
name=dvtws
rcvar=dvtws_enable
pidfile=/var/run/${name}.pid
app=/usr/local/bin/${name}
app_args='--user=dvtws --port 989 --dpi-desync=fakedsplit --dpi-desync-fooling=badseq --dpi-desync-split-pos=midsld'
command="/usr/sbin/daemon"
command_args="-R 30 -S -P ${pidfile} ${app} ${app_args}"
start_precmd="dvtws_start"
stop_postcmd="dvtws_shutdown"
dvtws_start()
{
kldload ipfw 2> /dev/null
kldload ipdivert 2> /dev/null
pfctl -d ; pfctl -e
ipfw delete 989
rule='add 989 divert 989 tcp from any to not 127.0.0.0/8,10.0.0.0/8,100.64.0.0/10,172.16.0.0/12,192.168.0.0/16 22,80,443,2083,8443,3520,51800 out not diverted not sockarg'
grep -F "${rule}" /usr/local/etc/ipfw.rules > /dev/null || echo "${rule}" >> /usr/local/etc/ipfw.rules
ipfw ${rule}> /dev/null
}
dvtws_shutdown()
{
if [ -e "${pidfile}" ]; then
echo "Stopping ${name}."
kill `cat "${pidfile}"`
rm -f "${pidfile}"
fi
ipfw delete 989
}
load_rc_config $name
: ${dvtws_enable:="NO"}
run_rc_command $1 P.S. вроде как проблему с зацикливанием divert на pf исправили, но правило вида |
Очень может быть, что там какое-то переполнение буферов ipdivert, и он просто не успевает что-то сделать. |
Благодарю за ответ. По крайней мере dmesg никаких ошибок не выдаёт, по остальным логам тоже ничего любопытного. Все правила во вложении. Из кастомного только в в pf.txt:
|
Что они там нафиксили мне непонятно. |
Да нет, что-то пофиксили. Убрал из rc.d вызов ipfw, поковырялся я всё же с pf и вышло следующее. Код opnsense формирует список правил в файл Вышеуказанная строка divert не работала у меня, потому, что брал правила, которые уже есть в pf ( pass in quick on bridge0 inet from (bridge0:network) to any flags S/SA keep state то есть Если добавить правило divert до default allow, то оно срабатывает и dvtws вполне себе работает (причём пока что сообщений в логе не увидел, хотя обычно раз в 10-15 мин появляется). Иными словами я вручную отредактировал ...
#>>>
pass in quick on bridge0 proto tcp from {(bridge0:network)} to ! $PRIVATE_NETWORKS port $OVER_TUNNEL_PORTS divert-to 127.0.0.1 port 989
#<<<
pass in quick on bridge0 inet from {(bridge0:network)} to {any} label "e5987ddd1fc4e7790f12bf49d4e48429" # Default allow LAN to any rule
pass in quick on bridge0 inet6 from {(bridge0:network),fe80::/10} to {any} label "06350d94efd1a0834002e1267c54ad5f" # Default allow LAN IPv6 to any rule ( скормил через Загвоздка тут следующая: стоит через веб морду добавить/удалить/поправить любое правило и перезагрузить файрволл - добавленная строка удалится, перезагрузить opnsense - аналогично, получить новый dhcp адрес от провайдера - всё то же (rc.newwanip дёргает перезагрузку файрволла в том числе). Надо будет подумать как заставить правило добавляться автоматом. |
Я не проверял на incoming. Но если сделать обработку трафика с самого хоста, получается loop |
Думаю, стоит ограничить пакетами, которые летят далеко. kldload pf
kldload ipdivert
pfctl -d
pfctl -e
pfctl -F all
echo 'table <private_nets> { 127/8, 10/8, 100.64/10, 172.16/12, 192.168/16 }
pass out quick proto tcp from any to ! <private_nets> port {80, 443} divert-to 127.0.0.1 port 989' | pfctl -f -
./zapret-v70.3/binaries/freebsd-x64/dvtws --user=nobody --dpi-desync=fakedsplit --dpi-desync-ttl=1 --dpi-desync-autottl=2 --dpi-desync-split-pos=midsld --port 989 --debug > /tmp/dvtws.log 2> /tmp/dvtws.log &
fetch https://rutracker.org/forum/index.php -o index.html (вместо Я, правда, не могу по логу определить, что происходит зацикливание. Единственное что: уже с выключенным debug использовал виртуалку как прокси через ssh ( |
The text was updated successfully, but these errors were encountered: