tkt/rostelekom

This commit is contained in:
bolvan 2016-02-16 16:07:27 +03:00
parent 38dc62514f
commit 24b2f1e30b
6 changed files with 25 additions and 8 deletions

View File

@ -25,3 +25,4 @@ compile : openwrt compile howto
v4 v4
tpws : added ability to insert extra space after http method : "GET /" => "GET /" tpws : added ability to insert extra space after http method : "GET /" => "GET /"
ISP support : TKT support

View File

@ -2,6 +2,7 @@
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. # CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
ISP=mns ISP=mns
#ISP=tkt
#ISP=beeline #ISP=beeline
#ISP=domru #ISP=domru
@ -31,7 +32,7 @@ case "$1" in
echo "Adding iptables rule" echo "Adding iptables rule"
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass 2>/dev/null || iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass 2>/dev/null ||
iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
DAEMON=$NFQWS DAEMON=$NFQWS
@ -64,7 +65,7 @@ case "$1" in
echo "Deleting iptables rule" echo "Deleting iptables rule"
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
DAEMON=$NFQWS DAEMON=$NFQWS
;; ;;

View File

@ -0,0 +1,5 @@
# put it to /etc/firewall.user
# for TKT ISP
iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass 2>/dev/null
iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num 200 --queue-bypass

View File

@ -3,6 +3,7 @@
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. # CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
#ISP=mns #ISP=mns
#ISP=tkt
#ISP=beeline #ISP=beeline
ISP=domru ISP=domru
@ -21,7 +22,7 @@ START=18
get_daemon() { get_daemon() {
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
DAEMON_OPTS="--qnum=$QNUM --wsize=4" DAEMON_OPTS="--qnum=$QNUM --wsize=4"
DAEMON=$NFQWS DAEMON=$NFQWS
;; ;;

View File

@ -5,6 +5,7 @@ stop on runlevel [!2345]
# CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE. # CHOOSE ISP HERE. UNCOMMENT ONLY ONE LINE.
env ISP=mns env ISP=mns
#env ISP=tkt
#env ISP=beeline #env ISP=beeline
#env ISP=domru #env ISP=domru
@ -23,7 +24,7 @@ pre-start script
/opt/zapret/ipset/create_ipset.sh /opt/zapret/ipset/create_ipset.sh
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass || iptables -t raw -C PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass ||
iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -I PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
;; ;;
@ -44,7 +45,7 @@ end script
script script
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
NFEXE=$NFQWS NFEXE=$NFQWS
NFARG="--qnum $QNUM --wsize=4" NFARG="--qnum $QNUM --wsize=4"
;; ;;
@ -62,7 +63,7 @@ end script
pre-stop script pre-stop script
case "${ISP}" in case "${ISP}" in
mns) mns|tkt)
iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass iptables -t raw -D PREROUTING -p tcp --sport 80 --tcp-flags SYN,ACK SYN,ACK -m set --match-set zapret src -j NFQUEUE --queue-num $QNUM --queue-bypass
;; ;;
beeline) beeline)

View File

@ -114,6 +114,7 @@ dom.ru : нужно проксирование HTTP сессий через tpws
2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами. 2 запрашиваемых поддомена : s.kinozal.tv и st.kinozal.tv с разными IP адресами.
sknt.ru : проверена работа с tpws с параметром "--split-http-req=method". возможно, будет работать nfqueue, пока возможности sknt.ru : проверена работа с tpws с параметром "--split-http-req=method". возможно, будет работать nfqueue, пока возможности
проверить нет проверить нет
tkt : нужно разделение http запроса на сегменты, настройки mns.ru подходят
Пример установки на debian 7 Пример установки на debian 7
---------------------------- ----------------------------
@ -159,9 +160,9 @@ ubuntu 12,14
-------------------- --------------------
Существует несколько основных систем запуска служб : sysvinit, upstart, systemd. Существует несколько основных систем запуска служб : sysvinit, upstart, systemd.
Насройка зависит от системы, используемой в вашем дистрибутиве. Настройка зависит от системы, используемой в вашем дистрибутиве.
Типичная стратегия - найти скрипт или конфигурацию запуска других служб и написать свой по аналогии, Типичная стратегия - найти скрипт или конфигурацию запуска других служб и написать свой по аналогии,
при необходимости почитывая документации по системе запуска. при необходимости почитывая документацию по системе запуска.
Нужные команды можно взять из предложенных скриптов. Нужные команды можно взять из предложенных скриптов.
Фаерволлы Фаерволлы
@ -199,3 +200,10 @@ opkg install iptables-mod-extra iptables-mod-nfqueue iptables-mod-filter iptable
Зашедулить задание обновления листа : Зашедулить задание обновления листа :
crontab -e crontab -e
Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список. Создать строчку "0 12 * * */2 /opt/zapret/ipset/get_reestr.sh". Это значит в 12:00 каждые 2 дня обновлять список.
Если у вас linux x64, то вместо компиляции toolchain можно использовать пре-компилированный SDK от разработчиков openwrt.
https://downloads.openwrt.org/
Найдите вашу версию openwrt, найдите вашу архитектуру, скачайте файл "OpenWrt-SDK-*".
Фактически это тот же buildroot, только в нем уже подготовлен toolchain для нужной версии openwrt,
нужной target архитектуры и хост-системы linux x64.