LINUX.ORG.RU
ФорумAdmin

Вопрос по маршрутизации при наличии прокси и NAT

 , ,


0

1

Здравствуйте,

Допустим, в лс есть комп с линуксом (Debian), в котором usb-модем, и поднят NAT, чтобы другие могли через него ходить в инет. Здесь же стоит xray, через который все и ходят.

Вопрос: хочется, чтобы сам этот комп тоже ходил в инет через этот же xray, как минимум, для некоторого определенного списка доменов (именно доменов, а не адресов) например до репозиториев. То есть, хочется, как бы еще один прокси, получается. Это как-то можно реализовать без установки дополнительной софтины? Хочется минимизировать издержки по производительности. Я понимаю, что у того же xray можно задать несколько входов на разных портах, и, соответственно, маршрутизацию там тоже отдельно для каждого входа устроить. Но непонятно, что надо где написать, чтобы все, что работает в этой локальной системе (но, разумеется, не сам xray) ходили в инет через этот второй вход. А все клиенты из лс ходили через первый вход. Как-то так.



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

Если я правильно понял, тебе нужен policy based routing, гугли. Всё это делается средствами ядра через ipset’ы, connection mark и routing rules. Единственное, для чего нужна «дополнительная софтина» — ресолвинг доменных имён для пополнения ipset’ов. dnsmasq это умеет, например.

anonymous
()

самым благоразумным будет настроить прокси в софте этого компа — в APT чтоб скачивал репозитории, в браузере чтоб ходил через прокси.
Тем более что прокси сервер у тебя уже есть. Только остается добавить сокет http/socks для локального ПО.
Крутить ipset / ip rules на уровне ОС - не надо, может сломаться роутинг до xray сервера и тогда все клиенты тебя будут ругать.

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

и настрой себе apt чтобы тот до репозиториев ходил через этот прокси на 127.0.0.1

Ха. И правда :) Как просто. Но это специфично для apt. А как сделать, чтобы все локальные типа wget на этот же 127.0.0.1 ходили? Хочется по максимуму спрятать всякий «интересный» трафик именно с самой этой системы. А другие клиенты из лс чтобы ходили через общие фильтры xray.

То есть, сейчас получилось, что apt пользуется отдельным входом, но общими для всех фильтрами. Непонятно, вообще, зачем ему тогда отдельный вход, я же могу указать ему тот же адрес из 192.168 сетки, который для вообще всех?

А идея в том, чтобы и вход для локальных программ был отдельный, и фильтр доменов тоже отдельный. Это уже вопрос чисто по xray, я понимаю. Я с их сайтом плохо дружу. Примерчик бы какой.

DeadlineX
() автор топика
Ответ на: комментарий от Bers666

Если я правильно понял, тебе нужен policy based routing, гугли.

А идея в том, чтобы и вход для локальных программ был отдельный, и фильтр доменов тоже отдельный.

Вот этого хочется. Что отдельно для каждой локальной софтины указывать прокси - этот вариант очевиден. Но если на уровне системы - плохой вариант, значит придется так.

DeadlineX
() автор топика
Ответ на: комментарий от DeadlineX

То есть, буквально:

  • два inbound (192.168.0.Х и 127.0.0.1)
  • один outbound (там уже можно balancer приделать или что, это детали)
  • два routing для них

Чтобы из 192.168.0.Х фильтровались через один, а 127.0.0.1 - через второй.

DeadlineX
() автор топика
Ответ на: комментарий от wolodyjowski

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

DeadlineX
() автор топика