Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Настройка мобильного прокси (Ubuntu, 3proxy, маршрутизация, 4G MegaFon)  (Прочитано 4614 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн pavlovski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Задача настройки мобильного прокси.
Сервер Ubuntu 16.04 с двумя интерфейсами Ethernet

Первый интерфейс со статическим IP 109.167.133.60, не него приходят внешние запросы из интернета.

Ко второму интерфейсу подключен роутер с 4G модемом, при запросе на него (192.168.1.68) - переводит трафик на 4G модем.

Должно получатся следующие:
1) Запрос на 109.167.133.60:50100
2) Далее 3proxy должен переводить запрос на второй интерфейс (192.168.1.68)

В результате пользователь при обращении на 109.167.133.60:50100 должен выйти в интернет через 4G модем.

Проблема:
При запросе на 109.167.133.60:50100 запрос доходит до 3proxy, но далее в интернет через 4G модем не выходит. Исключения составляют (открываются) только те сайты, которые расположены как раз на сервере (109.167.133.60), причем в логах отображается IP 4G модема. А запросы идущие на внешние сайты не проходят, получают только заголовки внешних сайтов.

Логи от 3proxy
Так выглядят запросы на внешние сайты
180514220447.578 50100 00013 - 188.170.80.134:3876 195.201.201.32:80 0 0 0 GET http://2ip.ru/ HTTP/1.1
180514220451.034 50100 00013 - 188.170.80.134:49562 195.201.201.32:80 0 0 0 GET http://2ip.ru/ HTTP/1.1
180514220451.674 50100 00013 - 188.170.80.134:46474 185.26.182.94:443 0 0 0 CONNECT sitecheck2.opera.com:443 HTTP/1.1
180514220451.802 50100 00013 - 188.170.80.134:40959 192.30.253.113:443 0 0 0 CONNECT github.com:443 HTTP/1.1

Это запросы на сайты которые размещены на сервере:
180514221732.771 50100 00000 - 188.170.80.134:40731 109.167.133.60:443 1581 784 0 CONNECT www.insta.systems:443 HTTP/1.1
180514221732.774 50100 00000 - 188.170.80.134:47912 109.167.133.60:443 1064 483 0 CONNECT www.insta.systems:443 HTTP/1.1
180514221739.636 50100 00000 - 188.170.80.134:8696 109.167.133.60:443 3937 35755 0 CONNECT www.marmiland.ru:443 HTTP/1.1
180514221739.645 50100 00000 - 188.170.80.134:43661 109.167.133.60:443 2418 28170 0 CONNECT www.marmiland.ru:443 HTTP/1.1

Если локально на сервере - в браузере firefox ввести прокси localhost:50100 - запросы так же не доходят, но если отключить один из интерфейсов (первый) 109.167.133.60, то запросы на модем 4G - начинают проходить нормально, маршруты в 3proxy так же работают.

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

Данная проблема маршрутами наблюдается как в 3proxy, так и в Squid.
Симптомы - одинаковые, серверные сайты открывает через 4G, а внешние - нет.
Передача данных = 0;

Файл 3proxy.cfg (специально минимальные настройки)
monitor /usr/local/3proxy/3proxy.cfg
daemon
log /var/log/3proxy
proxy -p50100 -n -a -i109.167.133.60 -e192.168.1.68
flush
nscache 65536
timeouts 1 5 30 60 180 1800 15 60

Файл Squid (специально минимальные настройки)
acl r1 localport 50100
tcp_outgoing_address 192.168.1.68 r1
http_port 50100
http_access allow all
net.ipv4.ip_forward=1 - включено

ifconfig
enp4s0    Link encap:Ethernet  HWaddr 10:fe:ed:05:c7:43 
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:122024 errors:0 dropped:670 overruns:0 frame:0
          TX packets:53 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:7397148 (7.3 MB)  TX bytes:9524 (9.5 KB)

enp5s0    Link encap:Ethernet  HWaddr 10:fe:ed:02:14:ef 
          inet addr:109.167.133.60  Bcast:109.167.133.63  Mask:255.255.255.224
          inet6 addr: fe80::b6da:ee7b:75b3:b05/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:724005 errors:0 dropped:1 overruns:0 frame:0
          TX packets:567154 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:304399884 (304.3 MB)  TX bytes:478319910 (478.3 MB)

lo        Link encap:Local Loopback 
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:425939 errors:0 dropped:0 overruns:0 frame:0
          TX packets:425939 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1
          RX bytes:843658962 (843.6 MB)  TX bytes:843658962 (843.6 MB)

nano /etc/network/interfaces
# interfaces(5) file used by ifup(8) and ifdown(8)
auto lo
iface lo inet loopback

auto eth0
allow-hotplug eth0
iface eth0 inet static
address 109.167.133.60
netmask 255.255.255.224
gateway 109.167.133.33
 
auto eth0:0
allow-hotplug eth0:0
iface eth0:0 inet static
address 192.168.1.68
netmask 255.255.255.0
gateway 192.168.1.1

Помогите пожалуйста разобраться, в чём проблема…
(Нажмите, чтобы показать/скрыть)
« Последнее редактирование: 07 Марта 2020, 05:29:39 от zg_nico »

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
internal адрес_исходящего_интерфейса
external адрес_входящего_интерфейса

Обе настройки опциональны, но в вашем случае они нужны.
Так же, как правильные маршруты, правила маршрутизации и использование спойлеров для портянок в первом сообщении.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн fisher74

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 13756
    • Просмотр профиля
Курим iproute2.
Можно было бы отправить в местную библиотеку, но там про балансировку, что не совсем корректно в данном случае.
Вот на хабре есть достойная статейка, с помощью которой можно понять как это сделать.

Оффлайн pavlovski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
internal адрес_исходящего_интерфейса
external адрес_входящего_интерфейса

Обе настройки опциональны, но в вашем случае они нужны.
Так же, как правильные маршруты, правила маршрутизации и использование спойлеров для портянок в первом сообщении.

Такая схема тоже была:
proxy -p50100 -n -a -i109.167.133.60 -e192.168.1.68
Результат тот же...

Пользователь добавил сообщение 15 Мая 2018, 17:03:26:
Курим iproute2.
Вот на хабре есть достойная статейка, с помощью которой можно понять как это сделать.

Спасибо, сейчас попробую настроить!

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Результат тот же...
Вы полагаете, что у вас ошибка где-то в одном месте?
Не заблуждайтесь, всё, что я перечислил - это ваши ошибки.
Все настройки нужны одновременно.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн pavlovski

  • Автор темы
  • Новичок
  • *
  • Сообщений: 3
    • Просмотр профиля
Вы полагаете, что у вас ошибка где-то в одном месте?
Нет, не полагаю.
Я для этого и обратился на форум, с вопросом о помощи настройки.

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Тогда к чему был ваш ответ?
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Ням-Ням

  • Любитель
  • *
  • Сообщений: 58
  • Вечность пахнет нефтью
    • Просмотр профиля
День добрый. Та же проблемма, что и у топикстартера. Хочу понять как именно настроить маршрутизацию. Собственно главная проблемма в том что я не совсем понимаю что именно должна делать маршрутизация. Есть два интерфейса, с одного через нет приходят пользователи, на другом находится сеть в которую они посредством сокс прокси должны попасть. По хорошему первый интерфейс должен знать, что ответы на приходящие через него пакеты должны уходить через него же, и второй интерфейс должен вести себя аналогично, так?
Athlon FX4300/16 gb + amd RX4600 - *buntu 16.04;
hp100 mini 3650sf Atom 1,6 / 2 gb - debian 8

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Маршрутизация управляет перемещением пакетов внутри системы. И никакого отношения к проксированию не имеет.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Ням-Ням

  • Любитель
  • *
  • Сообщений: 58
  • Вечность пахнет нефтью
    • Просмотр профиля
Я это понимаю. Проблема у меня довольно веселая, я настраиваю железяку под армбиан на базе дебиана и сразу после установки системы и поднятия прокси все работает извне (на модеме проброшен порт), но через определенное время прокси становится доступен только в локалке при обращении к железке по локальному адресу. При этом изменения наблюдаются только в метриках, либо вообще не наблюдаются.

первоначальное состояние
~$ ip route
default via 192.168.1.1 dev eth0 proto dhcp metric 100
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 101
169.254.0.0/16 dev enx0c5b8f279a64 scope link metric 1000
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 metric 100
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100 metric 101

~$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.1.0 dev eth0 proto kernel scope link src 192.168.1.2
local 192.168.1.2 dev eth0 proto kernel scope host src 192.168.1.2
broadcast 192.168.1.255 dev eth0 proto kernel scope link src 192.168.1.2
broadcast 192.168.8.0 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100
local 192.168.8.100 dev enx0c5b8f279a64 proto kernel scope host src 192.168.8.100
broadcast 192.168.8.255 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100

~$ ip route show table main
default via 192.168.1.1 dev eth0 proto dhcp metric 100
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 101
169.254.0.0/16 dev enx0c5b8f279a64 scope link metric 1000
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 metric 100
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100 metric 101


через некоторое время
~$ ip route
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 100
default via 192.168.10.1 dev eth0 proto dhcp metric 101
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100 metric 100
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.246 metric 101


~$ ip route show table local
broadcast 127.0.0.0 dev lo proto kernel scope link src 127.0.0.1
local 127.0.0.0/8 dev lo proto kernel scope host src 127.0.0.1
local 127.0.0.1 dev lo proto kernel scope host src 127.0.0.1
broadcast 127.255.255.255 dev lo proto kernel scope link src 127.0.0.1
broadcast 192.168.8.0 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100
local 192.168.8.100 dev enx0c5b8f279a64 proto kernel scope host src 192.168.8.100
broadcast 192.168.8.255 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100
broadcast 192.168.10.0 dev eth0 proto kernel scope link src 192.168.10.246
local 192.168.10.246 dev eth0 proto kernel scope host src 192.168.10.246
broadcast 192.168.10.255 dev eth0 proto kernel scope link src 192.168.10.246


~$ ip route show table main
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 100
default via 192.168.10.1 dev eth0 proto dhcp metric 101
169.254.0.0/16 dev eth0 scope link metric 1000
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100 metric 100
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.246 metric 101



ip route add 192.168.8.0/24 dev enx0c5b8f279a64 src 192.168.8.100 table T1
ip route add default via 192.168.8.1 table T1
ip route add 192.168.8.0/24 dev enx0c5b8f279a64 src 192.168.8.100
ip rule add from 192.168.8.100 table T1
« Последнее редактирование: 07 Марта 2020, 17:39:27 от Ням-Ням »
Athlon FX4300/16 gb + amd RX4600 - *buntu 16.04;
hp100 mini 3650sf Atom 1,6 / 2 gb - debian 8

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
Для начала избавьтесь от двух default гейтвеев в главной таблице.

А потом внимательно читайте таблицу маршрутизации.

~$ ip route
default via 192.168.1.1 dev eth0 proto dhcp metric 100
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 101
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2 metric 100
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100 metric 101

~$ ip route
default via 192.168.10.1 dev eth0 proto dhcp metric 101
default via 192.168.8.1 dev enx0c5b8f279a64 proto dhcp metric 100
192.168.10.0/24 dev eth0 proto kernel scope link src 192.168.10.246 metric 101
192.168.8.0/24 dev enx0c5b8f279a64 proto kernel scope link src 192.168.8.100 metric 100

У вас ВНЕЗАПНО меняется сеть с 192.168.1.1 на 192.168.10.1 на eth0.
Явно в сети eth0 больше одного DHCP сервера.

И вообще, какого чёрта у вас на РОУТЕРЕ вся сеть по DHCP поднимается? Вам секса в реале нехватает?
« Последнее редактирование: 07 Марта 2020, 18:07:32 от AnrDaemon »
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Ням-Ням

  • Любитель
  • *
  • Сообщений: 58
  • Вечность пахнет нефтью
    • Просмотр профиля
У вас ВНЕЗАПНО меняется сеть с 192.168.1.1 на 192.168.10.1 на eth0.


Нет, сеть внезапно не меняется, взято две железки за разными роутерами с одним и тем же образом линукса. 
Про ДХЦП - делал и чисто на статике, не взлетало. У меня в системе есть партизан (nrtwork manager) он иногда своевольничает весьма неприятно, я пробовал выпиливать его полностью и делал все на статике. Проблема оставалась. Как адекватно избавится от двойного дефалт роутинга? Просто удалить одну из записей?
Спасибо за ответы, я ценю ваше время, прежде чем написать здесь я бился над этим вопросом почти месяц.
« Последнее редактирование: 07 Марта 2020, 18:55:47 от Ням-Ням »
Athlon FX4300/16 gb + amd RX4600 - *buntu 16.04;
hp100 mini 3650sf Atom 1,6 / 2 gb - debian 8

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
взято две железки
Но представили вы это так, словно это одна и та же железка до и после возникновения проблемы.

У меня в системе есть партизан (nrtwork manager) он иногда своевольничает весьма неприятно
Откуда? Это десктопная система что ли?…

Как адекватно избавится от двойного дефалт роутинга?
1. Не настраивать по DHCP.
2. Не прописывать два GW.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

Оффлайн Ням-Ням

  • Любитель
  • *
  • Сообщений: 58
  • Вечность пахнет нефтью
    • Просмотр профиля
Но представили вы это так, словно это одна и та же железка до и после возникновения проблемы.
Виноват, к сожалению настройки на машинке с проблемами не догадался сохранить в свое время.

Откуда? Это десктопная система что ли?…
Нет, это армбиан без десктопа. Зачем так сделано я не знаю, но для моей железки это лучший дистриб.

1. Не настраивать по DHCP.
2. Не прописывать два GW.
Не прописывал. Перенастроить на статику я могу, как убрать лишний гейт?
« Последнее редактирование: 07 Марта 2020, 19:19:54 от Ням-Ням »
Athlon FX4300/16 gb + amd RX4600 - *buntu 16.04;
hp100 mini 3650sf Atom 1,6 / 2 gb - debian 8

Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28366
    • Просмотр профиля
как убрать лишний гейт?
2. Не прописывать два GW.


Пользователь добавил сообщение 07 Марта 2020, 20:59:18:
это армбиан без десктопа.
Если network manager для него стандартный диспетчер, то настраивайте через него.
Либо удалите его, если не пользуетесь.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

Прежде чем [Отправить], нажми [Просмотр] и прочти собственное сообщение. Сам-то понял, что написал?…

 

Страница сгенерирована за 0.057 секунд. Запросов: 25.