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


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

Автор Тема: Построение сети через PPTPd и настройка доступа к каждой сети  (Прочитано 2579 раз)

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

Оффлайн serg_k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Доброго дня!

Последние 3 дня мучаюсь с одной проблемой и не могу ее решить, знания у меня уровня новичок поэтому просьба отвечать понятному всем ( и мне тожее ))) язуком.
Пробовал все что нашел на форуме и безрезультатно

Стоит задача построить сеть на 5+ клиентов PPTP (клиенты роутеров Mikrotik) и обеспечения доступа к устройствам VPN сети и тех что за роутерами в том числе (сама сеть где стоит сервер нет необходимости расшаривать как таковую, как и интернет).С Микротиками проблем нет при создании сервера Mikrotik все работает как надо.
Опережая вопросы "Хочу на Ubuntu :)"

Итак: Linux Ubuntu Server 14.04. Находится за роутером. Проблем с подкючением клиентов нет.
Установлен pptp сервер и Webmin


Ifconfig при подключенных 2 клиентах

lo        Link encap:Локальная петля (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:5417 errors:0 dropped:0 overruns:0 frame:0
          TX packets:5417 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:34542930 (34.5 MB)  TX bytes:34542930 (34.5 MB)

p2p1      Link encap:Ethernet  HWaddr fc:aa:14:37:ff:35 
          inet addr:192.168.0.5  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: fe80::XXXX:14ff:XXXX:ff35/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:3541 errors:0 dropped:0 overruns:0 frame:0
          TX packets:4324 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:389295 (389.2 KB)  TX bytes:390434 (390.4 KB)

ppp0      Link encap:Протокол PPP (Point-to-Point Protocol) 
          inet addr:192.168.0.6  P-t-P:192.168.0.12  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1446  Metric:1
          RX packets:47 errors:0 dropped:0 overruns:0 frame:0
          TX packets:10 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:4620 (4.6 KB)  TX bytes:254 (254.0 B)

ppp1      Link encap:Протокол PPP (Point-to-Point Protocol) 
          inet addr:192.168.0.6  P-t-P:192.168.0.14  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1496  Metric:1
          RX packets:172 errors:0 dropped:0 overruns:0 frame:0
          TX packets:61 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:3
          RX bytes:13658 (13.6 KB)  TX bytes:8295 (8.2 KB)

virbr0    Link encap:Ethernet  HWaddr 6a:b1:bd:74:f2:05 
          inet addr:192.168.122.1  Bcast:192.168.122.255  Mask:255.255.255.0
          UP BROADCAST MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)


гдг p2p1 -физический сетевой интерфейс
ppp0, ppp1 и т.д. - клиенты PPTP.


route -n

Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0         192.168.0.1     0.0.0.0         UG    0      0        0 p2p1
192.168.0.0     0.0.0.0         255.255.255.0   U     0      0        0 p2p1
192.168.0.12    0.0.0.0         255.255.255.255 UH    0      0        0 ppp0
192.168.0.14    0.0.0.0         255.255.255.255 UH    0      0        0 ppp1
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

net.ipv4.ip_forward = 1

arp включен

iptables-save
# Generated by iptables-save v1.4.21 on Sun Aug  9 15:22:42 2015
*mangle
:PREROUTING ACCEPT [1268:3037136]
:INPUT ACCEPT [1165:3029694]
:FORWARD ACCEPT [97:6530]
:OUTPUT ACCEPT [1094:3012974]
:POSTROUTING ACCEPT [1231:3024988]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Sun Aug  9 15:22:42 2015
# Generated by iptables-save v1.4.21 on Sun Aug  9 15:22:42 2015
*nat
:PREROUTING ACCEPT [32:2992]
:INPUT ACCEPT [12:1117]
:OUTPUT ACCEPT [62:4750]
:POSTROUTING ACCEPT [76:5713]
-A POSTROUTING -s 192.168.122.0/24 -d 224.0.0.0/24 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 -d 255.255.255.255/32 -j RETURN
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p tcp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -p udp -j MASQUERADE --to-ports 1024-65535
-A POSTROUTING -s 192.168.122.0/24 ! -d 192.168.122.0/24 -j MASQUERADE
-A POSTROUTING -s 192.168.1.0/24 -o eth0 -j MASQUERADE
COMMIT
# Completed on Sun Aug  9 15:22:42 2015
# Generated by iptables-save v1.4.21 on Sun Aug  9 15:22:42 2015
*filter
:INPUT ACCEPT [1165:3029694]
:FORWARD ACCEPT [97:6530]
:OUTPUT ACCEPT [1109:3016233]
-A INPUT -i virbr0 -p udp -m udp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 53 -j ACCEPT
-A INPUT -i virbr0 -p udp -m udp --dport 67 -j ACCEPT
-A INPUT -i virbr0 -p tcp -m tcp --dport 67 -j ACCEPT
-A FORWARD -d 192.168.122.0/24 -o virbr0 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -s 192.168.122.0/24 -i virbr0 -j ACCEPT
-A FORWARD -i virbr0 -o virbr0 -j ACCEPT
-A FORWARD -o virbr0 -j REJECT --reject-with icmp-port-unreachable
-A FORWARD -i virbr0 -j REJECT --reject-with icmp-port-unreachable
-A OUTPUT -o virbr0 -p udp -m udp --dport 68 -j ACCEPT
COMMIT
# Completed on Sun Aug  9 15:22:42 2015


Я знаю, что проблема в iptables но решить ее не смог
Просьба указывать более или менее понятные команды.

Заранее спасибо!
« Последнее редактирование: 09 Августа 2015, 15:34:14 от serg_k »

Оффлайн AnrDaemon

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

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

Оффлайн serg_k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Простите, а iptables-save у вас с какого хоста вообще?
Ничего общего с озвученным сервером, кроме пары адресов, я не вижу.

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

На всякий случай продублировал, правда есть там скорре всего изменения, т.к. мой статус "в активном поиске" :)

# Generated by iptables-save v1.4.21 on Sun Aug  9 19:43:54 2015
*mangle
:PREROUTING ACCEPT [136738:280985351]
:INPUT ACCEPT [83243:248751569]
:FORWARD ACCEPT [53086:32171726]
:OUTPUT ACCEPT [85054:270550000]
:POSTROUTING ACCEPT [138299:302754631]
-A POSTROUTING -o virbr0 -p udp -m udp --dport 68 -j CHECKSUM --checksum-fill
COMMIT
# Completed on Sun Aug  9 19:43:54 2015
# Generated by iptables-save v1.4.21 on Sun Aug  9 19:43:54 2015
*nat
:PREROUTING ACCEPT [1788:145296]
:INPUT ACCEPT [182:16968]
:OUTPUT ACCEPT [107:10182]
:POSTROUTING ACCEPT [16:2584]
-A POSTROUTING -o eth0 -j MASQUERADE
-A POSTROUTING -o p2p1 -j MASQUERADE
-A POSTROUTING -o ppp0 -j MASQUERADE
COMMIT
# Completed on Sun Aug  9 19:43:54 2015
# Generated by iptables-save v1.4.21 on Sun Aug  9 19:43:54 2015
*filter
:INPUT ACCEPT [36965:89133693]
:FORWARD ACCEPT [16482:2558408]
:OUTPUT ACCEPT [41962:109024417]
-A INPUT -s 192.0.0.0/8 -i ppp0 -j ACCEPT
-A INPUT -s 10.0.0.0/8 -i ppp1 -j ACCEPT
-A INPUT -s 10.0.0.0/8 -i ppp0 -j ACCEPT
-A FORWARD -i eth0 -j ACCEPT
-A FORWARD -i ppp1 -j ACCEPT
-A FORWARD -i p2p1 -j ACCEPT
COMMIT
# Completed on Sun Aug  9 19:43:54 2015

Пользователь решил продолжить мысль 09 Августа 2015, 23:49:51:
Разобрался, может кому и пригодится:

Итак, при каждлм подключении PPTP клиента создается интерфейс ppp0, ppp1 и т.д.
Для корректной работы я создал каждую сеть в своем диапазоне IP адресов (первы роутер клиент192.168.10.ххх, второй роутер клиент 192.168.11.ххх и т.д.)
Сам сервер в диапазон 192.168.0.х
Каждый роутер получает строго заданный адрес по таблице /etc/ppp/chap-secrets
Загвоздка в том, клиенты и сами роутеры на этих машинах не пинговались.

Проблема решилась следующим образом:
1. Добавить правило в Ubuntu Server
route add -net 192.168.11.0/24 gw 192.168.0.12где 192.168.11.0 номер подсети роутера к которому привязан через chap-secrets  адрес 192.168.0.12
и таких правил столько сколько у Вас подсетей
2. Добавить правило в Ubuntu Server
iptables --table nat --append POSTROUTING --out-interface ppp0 -j MASQUERADEи нужно добавить столько правил сколько всего наберется pptp подключений


ОБЯЗАТЕЛЬНО.
Пропишите п.1 в файл /etc/ppp/ip-up либо при любом подключении к серверу правила пропадут. Другие способы если есть просьба указать в ветке, но у меня вроде все нормально работает.
Пропишите п.2 согласно инструкции пункта 6
http://projectcod.ru/administratoram-nastrojka-razlichnykh-sistemm/linux-nastrojka-linux-serverov/3-ustanovka-i-nastrojka-vpn-servera-na-ubuntu-server
имя вашего исходящего соединения меняете на ppp0, ppp1 и т.д. столько раз сколько будет активных клиентов.

 
« Последнее редактирование: 09 Августа 2015, 23:49:51 от serg_k »

Оффлайн AnrDaemon

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

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

Оффлайн serg_k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Интерфейс eth0 в iptables, скорее всего последствия моих довольно многочисленных экспериментов по настройке системы. Можно его отбросить (в данной системе его нет).

Кратко постараюсь пояснить, что и для чего я сделал:

1. У меня есть машина с Ubuntu Server 14.04 на борту.
2. Настроен PPTPD.
3. Клиенты во избежание конфликтов выведены в разные подсети (192.168.10.хх, 192.168.11.хх и т.д.)
4. Каждый клиент представляет из себя роутер (получивший IP адрес 192.168.0.хх, какой именно прописано в /etc/ppp/chap-secrets) за которым привязан диапазон адресов подсети (например хх.хх.11.хх).
5. Для того чтобы подсеть 10 (хх.хх.10.хх, или любая другая) могла получить доступ в подсеть 11 (хх.хх.11.хх) через роутер получивший привязанный в chap-secrets адрес 192.168.0.12 , я прописал маршрут
route add -net 192.168.11.0/24 gw 192.168.0.126. Но для того чтобы от компьютера из места назначения дошел ответ обратно, то через NAT нужно разрешить использовать маскарадинг ip адресов. (Команда есть выше).
7. Также нужно прописывать каждую подсеть, для того чтобы Ubuntu понимала куда какие пакеты отправлять.
8. В Ubuntu есть тонкость, которая заключается в том, что настройки route и iptables сбрасываются при подключении нового клиента и перезагрузки соотвественно. Поэтому для ищущих я и указал как сделать так, чтобы настройки не сбрасывались.

Я сам довольно долго (дня 3) искал и вникал как это можно сделать, поэтому решил отписать здесь в одном, может кому и поможет


Оффлайн AnrDaemon

  • Заслуженный пользователь
  • Старожил
  • *
  • Сообщений: 28365
    • Просмотр профиля
3. Клиенты во избежание конфликтов выведены в разные подсети (192.168.10.хх, 192.168.11.хх и т.д.)
конфликты разводятся нормальной настройкой сети по существующему ТЗ, а не разделением на подсети, лишь бы разделить, а там хоть трава не расти.

Не нужен маскарадинг. Нужно правильно сообщить клиентам нужные маршруты. Это разруливается например через DHCP в удалённых сетях.

Вообще, мне надоело читать ваши гадания, выкиньте все ваши "надо прописать" и опишите задачу нормально.
Какого РЕЗУЛЬТАТА надо добиться, а не какими средствами вы пытаетесь его достичь.
Хотите получить помощь? Потрудитесь представить запрошенную информацию в полном объёме.

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

Оффлайн serg_k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля
Цитировать
конфликты разводятся нормальной настройкой сети по существующему ТЗ, а не разделением на подсети, лишь бы разделить, а там хоть трава не расти
Согласен, с тем что это гораздо проще, но разделение на подсети как минимум интереснее.
Цитировать
Не нужен маскарадинг. Нужно правильно сообщить клиентам нужные маршруты
Только прописиванием маршрутов (без маскрадинга) сеть так и не заработала.
Цитировать
Это разруливается например через DHCP в удалённых сетях.
На это я ответил выше
Цитировать
Вообще, мне надоело читать ваши гадания, выкиньте все ваши "надо прописать" и опишите задачу нормально.
Стоит задача построить сеть на 5+ клиентов PPTP (клиенты роутеры Mikrotik) и обеспечения доступа к устройствам VPN сети и тех что за роутерами в том числе (сама сеть где стоит сервер нет необходимости расшаривать как таковую, как и интернет).

Цитировать
Какого РЕЗУЛЬТАТА надо добиться, а не какими средствами вы пытаетесь его достичь.
Результат уже есть (Тема отмечена как решенная). Сеть работает уже около недели. Отписываюсь я только по причине того, что кому-нибудь это может помочь в решении возникающих задач и как следствие проблем. Потому как я нигде не видел тех поддержки кроме сообщества и в свою очередь пытаюсь объяснить людям, у которых вопросы как у меня как это можно решить.

Если у Вас есть более рациональные и правильные решения данной задачи с удовольствием готов поэкспериментировать и принять на вооружение (Но не в одной подсети).

« Последнее редактирование: 19 Августа 2015, 00:43:30 от serg_k »

Оффлайн AnrDaemon

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

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

Оффлайн serg_k

  • Автор темы
  • Новичок
  • *
  • Сообщений: 7
    • Просмотр профиля

Суть в следующем.

Имеем сервер Ubuntu Server 14.04. На нем же установлен PPTP сервер.
---
Имеем 2 удаленных роутера в других населенных пунктах (на базе Микротик).

1-й роутер имеет подключение к интернету и настроено подключение к Серверу ВПН (от сервера ВПН он получает по логину и паролю  IP 192.168.0.15). Внутренняя сеть у роутера и соответственно его компов и устройств 192.168.88.ххх

2-й роутер имеет подключение к интернету и настроено подключение к Серверу ВПН (от сервера ВПН он получает по логину и паролю  IP 192.168.0.16). Внутренняя сеть у роутера и соответственно его компов и устройств 192.168.11.ххх
---
Помимо роутеров есть 2-3 рабочие машины также удаленно расположенных в интернете подлючающихся к ВПН и получающих доступ ко всем устройствам как друг друга так и за 1-м роутером и 2-м роутером.

-------
Эту задачу я решил вышеописанным способом. Честно говоря я не очень удовлетворен как работает сетка (периодически (1-2 раза в день) обрывается- думаю переходить на l2tp; и иногда перестают проходить пакеты почему никак не пойму вроде везде проводной нормальный инет. Был бы рад услышать Ваше мнение на сей счет.

Оффлайн AnrDaemon

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

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

 

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