LINUX.ORG.RU
решено ФорумAdmin

и снова pppoe-server + два провайдера


0

0

Приветствую всех. Проблема у меня такая.

Есть сервер с тремя интерфейсами. Два из них в идут в интернет через шлюзы (провайдеры разные), третий в локалку.

Захотелось поднять PPPOE сервер.

Клиетнты прекрасно подлючаются но вот незадача, они не могут выдти в инет.

ip route add default via $GW1 protocol static table a

ip route add default via $GW2 protocol static table b

ip rule add priority 1 from $IP1 table a

ip rule add priority 2 from $IP2 table b

Перерыл много инфы. Прочитал кучу документации. Перепробовал все что только можно и не можно. Но не получается ничго.

Кто знает, пробовал и получилось прошу помощи.


IP Masquerading/SNAT?

iptables -t nat -A POSTROUTING -s $IP1 -o $IF1 -j MASQUERADE

iptables -t nat -A POSTROUTING -s $IP2 -o $IF2 -j MASQUERADE

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

возможно я не до конца описал возникшую задачу.

при подключении клиента создается интерфейс ppp0.

pcpdump -i ppp0

19:27:17.573851 IP 192.168.100.12 > www.yandex.ru: ICMP echo request, id 1280, seq 2816, length 40
19:27:22.631153 IP 192.168.100.12 > www.yandex.ru: ICMP echo request, id 1280, seq 3072, length 40

ответа нет.

пробовал маскарадинк, но безрезультатно.
при создании правила говорит такого адреса нет

ppp0 Link encap:Point-to-Point Protocol
inet addr:10.0.0.1 P-t-P:192.168.100.12 Mask:255.255.255.255
UP POINTOPOINT RUNNING NOARP MULTICAST MTU:1472 Metric:1
RX packets:40 errors:0 dropped:0 overruns:0 frame:0
TX packets:22 errors:0 dropped:0 overruns:0 carrier:0
collisions:0 txqueuelen:3
RX bytes:3015 (2.9 KiB) TX bytes:1490 (1.4 KiB)

даже не знаю куда копать.

дело еще в том что из за двух провайдеров пришлось создавать таблицы маршрутизации. при пинге со стороны сервера я так помнимаю идет от интерфейса внутренней сети.
если делаю на сервере ping ya.ru -I <внутренняя сеть> нифига не идет,
но с -I <ip внутренней сети> все ок.

Попробовал пропинговать ip адреса из внутренней сети с клиента, переконфигурировав маршруты через pppoe все работает

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

Вообще не понимаю, в чём проблема.

/sbin/iptables-save с маскарадингом (или сообщения об ошибке при добавлении правила) в студию.

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

может я действительно что то не понимаю. проще опишу схему.

INET1<GW1>-----eth0<IP1>
                 |
                 +-------eth1<IP3>---------LOCAL-------------eth5<IP5>
                 |         |           |           |           |
INET2<GW2>-----eth2<IP2>   +-ppp0<IP4>-+           +-ppp1<IP6>-+

eth{0,1,2}:разные реальные серевухи, ppp0 - сервер, eth5, ppp1 - клиетн, gw{1,2} - шлюзы провайдеров.

на сервере стоит squid. и в зависимости от правил он бросает пользователей на разные каналы. нужен прямой доступ в инет, но с какой-нубудь авторизацией. подумал сделать pppoe(как раз самое то). Т.е. пользователь идет через ppp1 в инет.

если кто вкурил поможите.

пробовал маскарадинг. нифига не помогает, или просто туплю как всегда. в иделале было бы с обьяснением конечно, но сойдет и умный примерчик.

rovdy ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.