-
Notifications
You must be signed in to change notification settings - Fork 868
Open
Description
У кого-то получилось завезти эту связку?
Возможно, глупый вопрос, но как можно завернуть трафик на divert порт?
стандартными средствами pfctl это реально ну или скриптом при запуске dvtws?
или, возможно, используя tpws как прокси без "дурения"?
запускаю так:
#!/bin/sh
SERVICE_NAME="dvtws"
SERVICE_CMD="/usr/local/sbin/dvtws"
is_service_running() {
pgrep -f "${SERVICE_CMD}" > /dev/null && return 0 || return 1
}
require_module() {
if ! kldstat | grep "${1}" > /dev/null; then
if ! kldload "${1}"; then
exit 1
fi
fi
echo "Модуль ${1} загружен."
return 1
}
mng_service() {
if [ "${1}" = "start" ]; then
# require_module ipfw
require_module ipdivert
${SERVICE_CMD} \
--debug=1 \
--daemon \
--port=989 \
--параметры \
--hostlist=/opt/zapret.auto \
--hostlist-exclude=/opt/zapret.exclude \
| logger -t "${SERVICE_NAME}" >/dev/null 2>&1 &
elif [ "${1}" = "stop" ]; then
pkill -f "${SERVICE_CMD}"
fi
}
show_service_status() {
if is_service_running; then
echo "Сервис ${SERVICE_NAME} запущен."
else
echo "Сервис ${SERVICE_NAME} не работает."
fi
}
case "${1}" in
start)
mng_service start
;;
stop)
mng_service stop
;;
status)
show_service_status
;;
restart)
mng_service stop
sleep 2
mng_service start
;;
*)
echo "Usage: ${SERVICE_NAME} {start|stop|status|restart}"
exit 1
;;
esac
не совсем понимаю как работает ipfw
нашел правила и немного изменил под себя (ориентируясь по ощущениям)
ipfw delete 100
ipfw add 100 divert 989 tcp from $SUBNET to not $SUBNET 80,443 out not diverted xmit igb1
ipfw add 100 divert 989 tcp from not $SUBNET 80,443 to $SUBNET tcpflags syn,ack in not diverted recv igb1
ipfw add 100 divert 989 udp from $SUBNET to not $SUBNET 443 out not diverted xmit igb1
но почему все правила под номером 100
и можно ли сделать так чтобы учитывался только трафик из внутренней сети $SUBNET
во внешнюю сеть ! $SUBNET
?
и не заблокирует ли мне оно все остальное после применения этих правил?
igb1 - должен быть физический WAN интерфейс или если это ppoe1 подключение им?
Metadata
Metadata
Assignees
Labels
No labels