LINUX.ORG.RU
ФорумAdmin

squid проблемы с tproxy

 , , ,


1

1

У меня нистроет TPROXY в сквирд до следующей инструкции:

ip -f inet rule add fwmark 1 lookup 100
ip -f inet route add local default dev eth0 table 100

iptables -t mangle -N DIVERT
iptables -t mangle -A DIVERT -j MARK --set-mark 1
iptables -t mangle -A DIVERT -j ACCEPT

iptables  -t mangle -A PREROUTING -p tcp -m socket -j DIVERT

iptables  -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129

конфиг:

http_port 3130
http_port 3128 tproxy disable-pmtu-discovery=off
http_port 10.99.215.2:3129 intercept
acl localnet src 10.0.0.0/8
acl localhost src 127.0.0.0/8
acl bad_url url_regex "/opt/zapret_gov.txt"
http_access deny bad_url

http_access allow localnet
http_access allow localhost
http_access deny all

deny_info http://10.99.215.1/bl.html bad_url

cast val

★★★★★

Последнее исправление: ne-vlezay (всего исправлений: 1)

Вопрос то в чём?

И из настроек не понятно, выключенн ли rp_filter и где делается NAT?

mky ★★★★★
()
Ответ на: комментарий от mky

и где делается NAT

На домашнем сервере

rp_filter

root@debian:/home/admin# cat /proc/sys/net/ipv4/conf/all/rp_filter 
0
root@debian:/home/admin# cat /proc/sys/net/ipv4/conf/clinet0/rp_filter 
0
root@debian:/home/admin# cat /proc/sys/net/ipv4/conf/pubint0/rp_filter 
0
root@debian:/home/admin# cat /proc/sys/net/ipv4/conf/generic0/rp_filter 
0
root@debian:/home/admin# 
ne-vlezay ★★★★★
() автор топика

зачем тебе tproxy ? Тебе нужно через сквид пускать народ с белыми IP?

Если у тебя «http_port 3128 tproxy» то почему "-j TPROXY --on-port 3129" ?

vel ★★★★★
()

3129 intercept
j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129

Поздравляю Шарик, ты балбес.

s/intercept/transparent

или s/TPROXY/DNAT

Зависит от того, что именно ты хочешь реализовать...

Pinkbyte ★★★★★
()
Ответ на: комментарий от ne-vlezay

REDIRECT подменит адрес http-сервера. А ip клиента подменит squid в режиме intercept.

Но, так как у вас все одно «серые» ip-адреса клиентов (10.0.0.0/8) и есть SNAT, то не понятно, нужен ли вам tproxy. ИМХО, в вашем случае tproxy имеет смысл, если у вас там, где делается SNAT, настроен шейпинг или биллинг для клиентских компьютеров (по «серым» адресам).

mky ★★★★★
()
Ответ на: комментарий от mky

Я вспомнил, что до полключения к VPS - всё работало. Когда я начел прописывать маршруты скриптом, начелась эта хрень описанная выше. Сегодня провиду ещё один эксперемент, и о результатах отпишусь.

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от mky

Мне кажится, что баг либо в tproxy, либо в squid3

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от mky

mky

Вот, кстати лог:

1435778328.276      0 127.0.0.1 TAG_NONE/400 4019 NONE error:invalid-request - HIER_NONE/- text/html
1435778801.781   4666 10.250.1.10 TCP_MISS_ABORTED/000 0 GET http://2ip.io/img/flags/US.gif - ORIGINAL_DST/188.40.35.183 -
1435778802.622    802 10.250.1.10 TCP_MISS_ABORTED/000 0 GET http://2ip.ru/favicon.ico - ORIGINAL_DST/188.40.35.183 -
1435778862.331  59704 10.250.1.10 TCP_MISS/503 5878 GET http://2ip.ru/ - ORIGINAL_DST/188.40.35.183 text/html
1435778924.337  53819 10.250.1.10 TCP_MISS_ABORTED/000 0 GET http://2ip.ru/ - ORIGINAL_DST/188.40.35.183 -
1435778984.447  59669 10.250.1.10 TCP_MISS/503 5878 GET http://2ip.ru/ - ORIGINAL_DST/188.40.35.183 text/html
1435778987.224    716 10.250.1.10 TCP_MISS_ABORTED/000 0 GET http://2ip.ru/favicon.ico - ORIGINAL_DST/188.40.35.183 -
1435778994.016   6790 10.250.1.10 TCP_MISS_ABORTED/000 0 GET http://2ip.ru/favicon.ico - ORIGINAL_DST/188.40.35.183 -
1435779054.515  60481 10.250.1.10 TCP_MISS/503 5843 GET http://2ip.ru/favicon.ico - ORIGINAL_DST/188.40.35.183 text/html
1435779308.295  10012 10.250.2.10 TCP_MISS_ABORTED/000 0 GET http://clients3.google.com/generate_204 - ORIGINAL_DST/173.194.122.194 -

Возможно TCP_MISS/503 5843 как-то связанно с этой ошибкой

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от ne-vlezay

Если прямо с сервера слать запрос явно через прокси (через порт 3130), то страница загружается? Что обсуждать tproxy, если squid вобще не может выполнить запрос.

P.S. 1435779308 это примерно на 3 часа в будущем, по отношению к 01.07.2015 19:41:38 МСК.

mky ★★★★★
()
Ответ на: комментарий от mky

P.S. 1435779308 это примерно на 3 часа в будущем, по отношению к 01.07.2015 19:41:38 МСК.

Это после каждой ошибки

В браузере ошибка при использовании tproxy такая:


ОШИБКА
Запрошенный URL не может быть получен

При получении URL http://2ip.ru/ произошла следующая ошибка

    Соединение с 188.40.35.183 не удалось

Система вернула: (110) Connection timed out

Удаленный узел или сеть недоступен. Повторите запрос позднее

Администратор Вашего кэша: webmaster.

Создано Wed, 01 Jul 2015 19:29:44 GMT на ne-vlezay80 (squid/3.4.8)

ne-vlezay ★★★★★
() автор топика
Последнее исправление: ne-vlezay (всего исправлений: 1)

Итак, я разобрался! Короче, через правило DIVERT гоним весь трафик!!

Делаю заметку для себя, и для Вас тоже:

iptables -t mangle -N DIVERT
iptables -t mangle -N ZAPRET_GOV
iptables -t mangle -N DPI
iptables -t mangle -A DIVERT -j MARK --set-mark 0x11

iptables -t mangle -A PREROUTING -m socket -j DIVERT # Здесь гоним весь трафик, а не конкретный IP. (это было моей ошибкой)
iptables -t mangle -A PREROUTING -m ndpi --http --ssl -j ZAPRET_GOV
iptables -t mangle -A DPI -p tcp -m ndpi --http -j TPROXY --tproxy-mark 0x11 --on-port 3128
iptables -t mangle -A DPI -p tcp -m ndpi --ssl -j DROP

ip rule add fwmark 0x11 table 10
ip route add local default dev lo # если не сработает - мажете крикнуть "язабан" или покритиковать

Далее с помощью скоипта (выложу позднее) кладём ip из реестра в nf/mangle/ZAPRET_GOV

настраиваем squid3:

http_port 3128

acl localnet src 10.99.0.0/16
acl zapret_gov url_regex "/opt/zapret_gov_url.txt"

http_access deny zapret_gov
http_access allow localnet
deny_info "http://i-v-p.ru/" zapret_gov # это мы тех, кто заходит га запрещённые сайты посылаем в (слово запрещено правилами форума)

Перезапускаем squid3

вот и всё что надо усвоить.

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от mky

mky

Где ты имеешь в виду размещать шейпинг? Если в форверд, то на подозрительный ip скорость резаться не будет. Короче, помещаем shaper в input output

ne-vlezay ★★★★★
() автор топика
Ответ на: комментарий от vel

mangle/DPI - это редирект на проксю ip из реестра
mangle/ZAPRET_GOV - сами ip из реестра

ne-vlezay ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.