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


Считаете, что Ubuntu недостаточно дружелюбна к новичкам?
Помогите создать новое Руководство для новичков!

Автор Тема: Настройка интернета с выходом на две сетевые карты  (Прочитано 3780 раз)

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

Оффлайн Andrei_IW

  • Автор темы
  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
    • Ремонт компьютеров в Волгограде
Здравствуйте!

Помогите разобраться. Есть сервер, у него 3 сетевые карты. Сервер подключается к интернету, а через интернет подключается к OpenVPN
p5p1 - на него приходит Интернет от провайдера, с подключением PPPoE.
p4p1 - 192.168.1.1 надо что бы через него раздавался трафик от OpenVPN
p5p2 - 192.168.2.1 надо что бы через него раздавался трафик от провайдера PPPoE

Сейчас сделанно так, что при включении сервера сначала поднимается PPPoE а после поднимается OpenVPN и весь трафик на сервере идёт через OpenVPN, раздаваясь на карту p4p1 - 192.168.1.1

Вот содержимое команды ifconfig
(Нажмите, чтобы показать/скрыть)

Что бы после подключения pppoe заработало корректно подключение по OpenVPN в клиенте OpenVPN добавлен маршрут
ip ro add x.x.103.152 dev ppp0
Ну и раздаётся интернет от OpenVPN так
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o tun0 -j MASQUERADE

Хотел так же раздать интернет от PPPoE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o ppp0 -j MASQUERADE
Но не чего не выходит. Пока подключен OpenVPN работает только сетевая карта p4p1 - 192.168.1.1 и по нему идёт трафик от OpenVPN. Карта p5p2 - 192.168.2.1 в это время не чего не раздаёт. Стоит остановить сервис OpenVPN как тут-же начинает работать карта p5p2 - 192.168.2.1 с интернетом от PPPoE, а карта p4p1 - 192.168.1.1 перестаёт раздовать трафик от OpenVPN.

А как сделать так, что бы интернет был на обоих картах сразу, вернее на одной карте интернет от OpenVPN а на другой карте интернет от pppoe?
« Последнее редактирование: 23 Июня 2015, 17:02:12 от Andrei_IW »
Ремонт компьютеров в Волгограде

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Одними простыми правилами iptables и маршрутом до сервера Вы не отделаетесь.
http://www.opennet.ru/docs/RUS/LARTC/x348.html
Автоматизация подключения — на Ваш Выбор.
OpenWrt 19.07

Оффлайн Andrei_IW

  • Автор темы
  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
    • Ремонт компьютеров в Волгограде
У меня немного другая ситуация. В примере расматривается два провайдера. А у меня один провайдер, они интернет. Однако по этому одному интернету я подключаю OpenVPN.

И из этого вопрос. Как пустить интернет, который приходит на PPPoE через одну сетевую карту, а интернет OpenVPN пустить на другую сетевую карту.
Ремонт компьютеров в Волгограде

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
У вас именно та ситуация - тот пример на Ваш.
PPPoE - один провайдер
OpenVPN - другой провайдер
Дальше по ссылке. Будут вопросы — пишите.
OpenWrt 19.07

Оффлайн Andrei_IW

  • Автор темы
  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
    • Ремонт компьютеров в Волгограде
Похоже но не так. Лучше я поподробнее появню. Есть сервер, на нём 3 сетевые карты
1) Первая сетевая карта - приходит Интернет по PPPoE и подключается OpenVPN
2) Вторая сетевая карта - нужно раздавать интернет идущий от OpenVPN
3) Третья сетевая карта - нужно раздавать интернет идущий от PPPoE

То есть у меня провайдер один, но нужно трафик от интернета и OpenVPN раздавать на разные сетевые карты.

Пользователь решил продолжить мысль 24 Июня 2015, 19:48:45:
Подскажите каким способом, как написать ip route add что бы

192.168.1.0/24 шлюз был dev tun0
192.168.2.0/24 шлюз был dev pppoe
« Последнее редактирование: 24 Июня 2015, 19:48:45 от Andrei_IW »
Ремонт компьютеров в Волгограде

Оффлайн koshev

  • Старожил
  • *
  • Сообщений: 1709
  • חתול המדען
    • Просмотр профиля
Подскажите каким способом, как написать ip route add что бы
192.168.1.0/24 шлюз был dev tun0
192.168.2.0/24 шлюз был dev pppoe
Да что же...
Я именно ЭТО повторяю Вам в третий раз.  ;D Интерфейса у Вас два! Каналов в интернет ДВА, столько же нужно таблиц маршрутизации с шлюзом по умолчанию на каждый канал. По-другому работать НЕ БУДЕТ! Как они получились — НЕВАЖНО!
Ваши команды iptables для NAT не трогаете, они логичные.
Смотрите пример по LARTC, делаете все, что там описано.
Затем жёстко указываете, что весь траффик от сети 192.168.1.0/24 рулить (ip rule же :) ) в одну таблицу, а трафик от 192.168.2.0/24 в другую.
Код: (bash) [Выделить]
ip rule add from $local_net lookup $table Всё, блин! Что непонятно — показывайте.
Можно ещё рулить траффик по меткам, через iptables, если требуется более хитрый способ распределения нагрузки.
PS А ещё можно обойтись двумя таблицами с именами main и default, они по идее в ubuntu by default и вообще by default (я не встречал других).
Я всё сказал, дальше сами 8)
OpenWrt 19.07

Оффлайн Andrei_IW

  • Автор темы
  • Любитель
  • *
  • Сообщений: 84
    • Просмотр профиля
    • Ремонт компьютеров в Волгограде
да, вы оказались правы. У меня всё получилось. За одно я тут набрасал Bash скрипт, он как раз всё разруливает как ты пишешь.

#!/bin/bash

# Узнаю актуальные маршруты
gw_vpn=`ip -o -4 a l tun0 | cut -d " " -f 9 | cut -d / -f 1`
gw_pppoe=`ip -o -4 a l ppp0 | cut -d " " -f 9 | cut -d / -f 1`


# Удаляем маршруты по умолчанию, присвоенные OpneVPN
route del -net 0.0.0.0 netmask 128.0.0.0 gw $gw_vpn dev tun0
route del -net 128.0.0.0 netmask 128.0.0.0 gw $gw_vpn dev tun0

# Добавляем нужный маршрут в таблицу и роль для маршрута OpenVPN
ip route add default via $gw_vpn dev tun0 table 1111
ip rule add from 192.168.1.0/24 lookup 1111
ip rule add from 192.168.1.1 lookup main

# Добавляем нужный маршрут в таблицу и роль для маршрута PPPoE
ip route add default via $gw_pppoe dev ppp0 table 2222
ip rule add from 192.168.2.0/24 lookup 2222
ip rule add from 192.168.2.1 lookup main

Ну а уже после сама раздача трафика в разные сети
iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -o tun0 -j MASQUERADE
iptables -t nat -A POSTROUTING -s 192.168.2.0/24 -o ppp0 -j MASQUERADE

Собственно и всё. Большое спасибо что подсказали :)
Ремонт компьютеров в Волгограде

 

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