Настройка Iptables для RedSocks, трафик не идет в LAN

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модератор: SLEDopit

Ответить
Pacm3n
Сообщения: 11
ОС: debian

Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Друзья, нужна ваша помощь по настройке Iptables. Ситуация у меня следующая, за последние пару лет мне часто вскрывали роутер и интернет просто до жути лагал и обновление прошивки не помогали и по возможности приходилось делать замену роутера, но я не милионер менять их каждую неделю) у меня был свободный комп на который я прикупил еще одну сетевую, его я пустил под домашний роутер и после этого проблемы с взломом роутера завершились.

Сейчас хочу сделать обход блокировок, пожалуй есть небольшой список сайтов на которые я не могу зайти. У меня есть все тот же комп и есть хостинг на котором есть ssh доступ, через putty проксификация отлично работает но я решил настроить что бы все это работало из коробки. Я нашел гайд по ssh+redsocks, но он видимо не полный.

На компе есть интерфейсы сетевых enp2s0 — WAN, вторая enp1s0 — LAN подсеть 192.168.1.0 порт 12345 это стандартный порт прослушивания для RedSocks. Форвардинг IPv4 включен.

Настройки LAN карты enp1s0

Код: Выделить всё

Адрес: 192.168.1.2
Шлюз: 192.168.1.1
Настройки DHCP

Код: Выделить всё

option domain-name-servers 8.8.8.8, 8.8.4.4;
subnet 192.168.1.0 netmask 255.255.255.0 {
   range 192.168.1.100 192.168.1.254;
   option subnet-mask 255.255.255.0;
   option broadcast-address 192.168.1.255;
   option routers 192.168.1.2;
   option domain-name-servers 8.8.8.8;
} 
default-lease-time 600;
max-lease-time 7200;
Настройки RedSocks

Код: Выделить всё

base {
   log_debug = off;
   log_info = off;
   log = "syslog:daemon";
   daemon = on;
   user = redsocks;
   group = redsocks;
   redirector = iptables;
}

redsocks {
   local_ip = 0.0.0.0;
   local_port = 12345;
   
   ip = 127.0.0.1; // change here
   port = 1080; // change here
   type = socks5;
}

redudp {
   local_ip = 127.0.0.1;
   local_port = 10053;
   
   ip = 192.168.99.1; // change here
   port = 8080; // change here
   
   dest_ip = 8.8.8.8;
   dest_port = 53;
   
   udp_timeout = 30;
   udp_timeout_stream = 180;
}

dnstc { 
   local_ip = 127.0.0.1; 
   local_port = 5300; 
}
Настройки Iptables

Код: Выделить всё

iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 192.168.1.1 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT –to-ports 12345
iptables -t nat -A OUTPUT -p tcp -m owner –uid-owner admin1 -j REDSOCKS
iptables -t nat -A PREROUTING –in-interface enp1s0 -p tcp -j REDSOCKS
На хостовой машине если указать socks5 который я получаю из ssh 127.0.0.1 порт 1080 то все работает на самом роутере, но на локальную сеть нет раздачи интернета, но если прописать еще одно правило

Код: Выделить всё

iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
С этим правилом проксификация идет и в локальную сеть, но есть один недостаток, мой IP становится таким же как на de хостинге, но вместе с ним высвечивается и мой домашний IP это происходит из-за последнего правила которое я добавляю, но без него пока что не работает раздача в локальную сеть. Правила которые я записываю они неполные, но что бы разобраться и настроить iptables там очень и очень много нужно прочитать что бы правильно настроить раздачу интернета в локальную сеть через RedSocks.

Друзья пожалуйста подскажите, что нужно прописать что бы правила заработали как положено. Я люблю новые интересные задачи, но не люблю когда они слишком на долго затягиваются) и тут мне без вашей помощи ну не как не обойтись. Буду благодарен любой помощи.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Bizdelnick »

Pacm3n писал(а):
28.03.2019 13:40
мой IP становится таким же как на de хостинге, но вместе с ним высвечивается и мой домашний IP
Где высвечивается?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Bizdelnick писал:
28.03.2019 13:48
Pacm3n писал(а):
28.03.2019 13:40
мой IP становится таким же как на de хостинге, но вместе с ним высвечивается и мой домашний IP
Где высвечивается?
При заходе на browserleaks.com/ip когда смотрю на WebRTC Leak Test то этот тест показывает Local IP address мой IP который присваивает мне интернет провайдер, но в тоже самое время в самом верху My IP Address там идет германский, как и должно быть. Этот эффект вызывает правило iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
но без него трафик не идет на интерфейс который смотрит в локальную сеть, проверку ip делаю через вторую машину
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Bizdelnick »

Pacm3n писал(а):
28.03.2019 14:13
когда смотрю на WebRTC Leak Test то этот тест показывает Local IP address мой IP который присваивает мне интернет провайдер
И будет показывать, никакой SOCKS тут не поможет. Если хотите его скрыть, отключите в браузере WebRTC. Если же задача — просто получить доступ к нескольким сайтам, то на это можно забить.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Bizdelnick писал:
28.03.2019 14:24
Pacm3n писал(а):
28.03.2019 14:13
когда смотрю на WebRTC Leak Test то этот тест показывает Local IP address мой IP который присваивает мне интернет провайдер
И будет показывать, никакой SOCKS тут не поможет. Если хотите его скрыть, отключите в браузере WebRTC. Если же задача — просто получить доступ к нескольким сайтам, то на это можно забить.
Безусловно забить то можно, я уверен что большинство так и поступает. Даже где то читал о том кто как борется с такими вещами как сканирование сайта, я прочитал такой же вариант что сеть постоянно сканируют и проще забить, но когда речь идет о попытке идентифицировать цмс, сервер дб и прочее, я так не считаю, что это правильный выбор) Точно также и здесь, можно забить и пользоваться, но я люблю когда работа сделана чисто и если стоит прокси тот должен быть только его IP и не как иначе. Я хочу разобратся в самом вопросе, как можно правильно подстроить как мне кажется нат
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение /dev/random »

RedSocks проксирует TCP, а WebRTC использует UDP. Либо отключайте WebRTC в браузере, либо блокируйте совсем, либо используйте полноценный VPN, а не прокси.
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Т.е. вы хочете сказать что дело не в этом правиле
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
Мне просто почему то показалось что это правило должно направлять выход не на саму сетевую которая смотрит в интернет, а направить на сам RedSocks.
Также вопрос в связи с этим, а есть ли возможность что бы исходящий поток направить не на enp2s0 а на сам прокси на 127.0.0.1 port 1080? Прокси мне дает то ssh клиент.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Bizdelnick »

Pacm3n писал(а):
28.03.2019 14:34
речь идет о попытке идентифицировать цмс, сервер дб и прочее
Я Вас не понимаю. Это Ваш адрес, который утекает через Ваш браузер. Причём тут какие-то CMS, СУБД и прочее?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Bizdelnick писал:
28.03.2019 15:42
Pacm3n писал(а):
28.03.2019 14:34
речь идет о попытке идентифицировать цмс, сервер дб и прочее
Я Вас не понимаю. Это Ваш адрес, который утекает через Ваш браузер. Причём тут какие-то CMS, СУБД и прочее?
Это сравнение с другим примером на счет забить и так пользоваться.
К тому же вы заметили из всего только это, просто как набивалка постов, но не по теме...
Спасибо сказали:
Аватара пользователя
nerve
Сообщения: 280
ОС: OpenBSD

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение nerve »

Pacm3n писал(а):
28.03.2019 16:58
Это сравнение с другим примером на счет забить и так пользоваться.
К тому же вы заметили из всего только это, просто как набивалка постов, но не по теме...
как раз непонимание тут у кого-то другого.
тебе уже два раза намекнули, не указывая ту глупость, которой ты хочешь решить нерешаемую проблему.
вебртс берет твой внешний адрес из браузера и если у тебя не полноценный впн, через который ходит твой трафик, то ты это никак не скроешь.
поправьте если ошибаюсь
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

nerve писал(а):
28.03.2019 17:10
Pacm3n писал(а):
28.03.2019 16:58
Это сравнение с другим примером на счет забить и так пользоваться.
К тому же вы заметили из всего только это, просто как набивалка постов, но не по теме...
как раз непонимание тут у кого-то другого.
тебе уже два раза намекнули, не указывая ту глупость, которой ты хочешь решить нерешаемую проблему.
вебртс берет твой внешний адрес из браузера и если у тебя не полноценный впн, через который ходит твой трафик, то ты это никак не скроешь.
поправьте если ошибаюсь
Конечно я поправлю, я просто прошу помощи, что бы составить правило для iptables, это указано и в самой теме
iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE
сейчас пускает трафик как есть, но есть полно людей которые давно знакомы с iptables и наверняка могут знать решение, хотя бы вариант как разрешить что бы шел хотя бы чисто tcp трафик. Даже на windows это делается легким запуском софта и udp проксифицируется в том числе, но иксы это же сетевая система и очень гибкая. К тому же из ответов я понял что udp не проксифицируется и теперь знаю что в добавок нужно настроить функцию самого RedSocks что бы udp пустить поверх tcp кажется именно так он работает в этом софте, потому что если люди которые пишут что данных софт не работает с udp значит они с ним знакомы и по мере своих знаний всегда можно дать подсказку хоть к каким то решениям. Я конечно благодарен за то что хотя бы прояснилась немного ситуация, но это не совсем то чего я ожидал
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Bizdelnick »

Pacm3n, сформулируйте, пожалуйста, задачу, которую Вы решаете. Если Вы хотите обходить блокировки, Вы этого уже добились. Если Вы хотите анонимности — это уже совсем другое дело, и тут нужны другие средства.
Абстрактное понятие безопасности не имеет смысла, пока не определена модель угроз. Интернет сам по себе не предполагает анонимности, так что утечка IP ничего принципиально не меняет. Первоначальная формулировка вопроса не предполагала, что Вы хотите от кого-то скрываться.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Bizdelnick писал:
28.03.2019 17:45
Pacm3n, сформулируйте, пожалуйста, задачу, которую Вы решаете. Если Вы хотите обходить блокировки, Вы этого уже добились. Если Вы хотите анонимности — это уже совсем другое дело, и тут нужны другие средства.
Абстрактное понятие безопасности не имеет смысла, пока не определена модель угроз. Интернет сам по себе не предполагает анонимности, так что утечка IP ничего принципиально не меняет. Первоначальная формулировка вопроса не предполагала, что Вы хотите от кого-то скрываться.
Исходя из нашего общения я понял то что udp трафик просто идет через моего провайдера, т.к. перекрытие ненастроенно должны образом, тогда моя задача разделяется сразу на несколько и я приведу краткий список что мне нужно:
1. Правило iptables -t nat -A POSTROUTING -o enp2s0 -j MASQUERADE как его нужно изменить, что бы проходил только tcp трафик, остальной блокируем
2. Как нужно подкоректировать конфиг RedSocks что бы его udp и dns шли поверх tcp трафика, в принципе то как это расчитано самим автором.
3. Какие есть альтернативные варианты, что бы мне полностью всех подключенных клиентов к сетевой карте которая смотрит в локальную сеть, завернуть их трафик через ssh, что бы была полная проксификация tcp+udp+dns. SSH идет от хостера, это не впс, поэтому нет возможности туда прикрутить tun и авторизация по логину и паролю.

Для чего мне это нужно. Я нахожусь в юа, здесь блокировка на вк, кинопоиск, маил.ру в последнем я люблю поиграть иногда в игры, но немогу банально пройти авторизацию, а следовательно не могу играть с нормальным русским языком. Поэтому я хочу что бы данное решение нормально работало, на впн у меня нет денег, но есть постоянный немецкий ssh доступ от сайта, это идеальное решение для меня, но знаний не хватает, а русский мануал по iptables это более чем 260К символов без пробелов, а это еще нужно и понять.
Спасибо сказали:
Аватара пользователя
/dev/random
Администратор
Сообщения: 5289
ОС: Gentoo

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение /dev/random »

Pacm3n писал(а):
28.03.2019 18:13
2. Как нужно подкоректировать конфиг RedSocks что бы его udp и dns шли поверх tcp трафика, в принципе то как это расчитано самим автором.
DNS можете переадресовать на встроенный в redsocks сервер под названием dnstc (в вашем конфиге он на 127.0.0.1:5300). Остальные UDP он не умеет проксировать через SSH. Т.е. их придётся либо блокировать совсем, либо пропускать как есть.
Добавлено (18:33):
Pacm3n писал(а):
28.03.2019 18:13
Для чего мне это нужно. Я нахожусь в юа, здесь блокировка на вк, кинопоиск, маил.ру в последнем я люблю поиграть иногда в игры, но немогу банально пройти авторизацию, а следовательно не могу играть с нормальным русским языком.
Тогда чем вас нынешний конфиг не устраивает? Для обхода блокировки его должно хватить.
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Bizdelnick »

Pacm3n писал(а):
28.03.2019 18:13
как его нужно изменить, что бы проходил только tcp трафик, остальной блокируем
Вы уверены, что этого хотите? У Вас много чего ещё отвалится, от NTP до торрентов. Менять это правило не нужно, нужно добавить другое, примерно такое (проверять лень, извините): iptables -t filter -A FORWARD -i enp1s0 -o enp2s0 -p udp -j REJECT
Pacm3n писал(а):
28.03.2019 18:13
завернуть их трафик через ssh, что бы была полная проксификация tcp+udp+dns.
UDP в SSH запихать невозможно, насколько мне известно.
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

/dev/random писал:
28.03.2019 18:30
Pacm3n писал(а):
28.03.2019 18:13
2. Как нужно подкоректировать конфиг RedSocks что бы его udp и dns шли поверх tcp трафика, в принципе то как это расчитано самим автором.
DNS можете переадресовать на встроенный в redsocks сервер под названием dnstc (в вашем конфиге он на 127.0.0.1:5300). Остальные UDP он не умеет проксировать через SSH. Т.е. их придётся либо блокировать совсем, либо пропускать как есть.
Добавлено (28.03.2019 18:33):
Pacm3n писал(а):
28.03.2019 18:13
Для чего мне это нужно. Я нахожусь в юа, здесь блокировка на вк, кинопоиск, маил.ру в последнем я люблю поиграть иногда в игры, но немогу банально пройти авторизацию, а следовательно не могу играть с нормальным русским языком.
Тогда чем вас нынешний конфиг не устраивает? Для обхода блокировки его должно хватить.
Дело в том что и сам dns идет от моего интернет провайдера, мне кажется что возможно тут просто чего не хватает в этой цепочке. Но даже если пока что отказаться от игр, пока не найду достойную замену, как можно тогда заблокировать входящие и исходящие udp пакеты от подсети 192.168.1.0 или от любого соединения которое идет из сетевого интерфейса enp1s0 вы мне с этим можете подсказать ?
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Bizdelnick писал:
28.03.2019 18:38
Pacm3n писал(а):
28.03.2019 18:13
как его нужно изменить, что бы проходил только tcp трафик, остальной блокируем
Вы уверены, что этого хотите? У Вас много чего ещё отвалится, от NTP до торрентов. Менять это правило не нужно, нужно добавить другое, примерно такое (проверять лень, извините): iptables -t filter -A FORWARD -i enp1s0 -o enp2s0 -p udp -j REJECT
Pacm3n писал(а):
28.03.2019 18:13
завернуть их трафик через ssh, что бы была полная проксификация tcp+udp+dns.
UDP в SSH запихать невозможно, насколько мне известно.
Спасибо за правило буду тестировать.
На сколько мне известно то возможно, к примеру если в виртуалку запихнуть, любой ssh клиент и проксифаер(windows проксификатор), тогда мы имеем отлично работающий nat который убирает домашний ip и при этом ссх нормально проксифицируется, но это нормально если тебе нужно для сайта что то протестировать по детектам пользователей и обхода блокировок, но пользоватся так неудобно для повседневных нужд. Отсюда у меня и вся эта идея, как сделать так, но только средствами линукс
Спасибо сказали:
Аватара пользователя
Bizdelnick
Модератор
Сообщения: 20794
Статус: nulla salus bello
ОС: Debian GNU/Linux

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Bizdelnick »

Pacm3n писал(а):
28.03.2019 18:55
если в виртуалку запихнуть, любой ssh клиент и проксифаер(windows проксификатор), тогда мы имеем отлично работающий nat который убирает домашний ip и при этом ссх нормально проксифицируется
Не знаю, что за проксификатор, но почему Вы считаете, что это работает для UDP?
Пишите правильно:
в консоли
вку́пе (с чем-либо)
в общем
вообще
в течение (часа)
новичок
нюанс
по умолчанию
приемлемо
проблема
пробовать
трафик
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

Bizdelnick писал:
28.03.2019 19:26
Pacm3n писал(а):
28.03.2019 18:55
если в виртуалку запихнуть, любой ssh клиент и проксифаер(windows проксификатор), тогда мы имеем отлично работающий nat который убирает домашний ip и при этом ссх нормально проксифицируется
Не знаю, что за проксификатор, но почему Вы считаете, что это работает для UDP?
Потому что если webrtc высвечивается нужно и он считывает инфу по udp и при проверке выдает нужный ip, значит это работает :drinks:
Спасибо сказали:
Pacm3n
Сообщения: 11
ОС: debian

Re: Настройка Iptables для RedSocks, трафик не идет в LAN

Сообщение Pacm3n »

iptables -t filter -A FORWARD -i enp1s0 -o enp2s0 -p udp -j REJECT

Спасибо за данное правило, вчера проверял и оно на короткий период помогает и работает как нужно, но выходит так что с блокировкой udp трафика идет и блокировка 53 порта в течении нескольких минут ранее запущенные сайты, перестают работать, видимо когда происходит потребность в обновлении dns для домена.

Исходя из этого как можно вначале запустить разрешающее правило, которое пропустит 53 порт по udp а остальные обрежет?

Второе что натолкнуло меня на мысль, в данных правилах упоминается только tcp трафик, но нет правил для udp как я понимаю то мне нужно сделать точно такой же набор. Учитывая конфиг самого RedSocks если я его правильно понимаю, то мои правила должны по идее выглядеть так

iptables -t nat -N REDSOCKS
iptables -t nat -A REDSOCKS -d 192.168.1.1 -j RETURN
iptables -t nat -A REDSOCKS -p tcp -j REDIRECT –to-ports 12345
iptables -t nat -A OUTPUT -p tcp -m owner –uid-owner admin1 -j REDSOCKS
iptables -t nat -A PREROUTING –in-interface enp1s0 -p tcp -j REDSOCKS
# UDP rules
iptables -t nat -A REDSOCKS -p udp -j REDIRECT –to-ports 10053
iptables -t nat -A OUTPUT -p udp -m owner –uid-owner admin1 -j REDSOCKS
iptables -t nat -A PREROUTING –in-interface enp1s0 -p udp -j REDSOCKS

Для udp я не очень уверен в правильности порта
Спасибо сказали:
Ответить