The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"route и два внешних ip, как ... ?"
Вариант для распечатки Архивированная нить - только для чтения! 
Пред. тема | След. тема 
Форумы OpenNET: Виртуальная конференция (Public)
Изначальное сообщение [Проследить за развитием треда]

"route и два внешних ip, как ... ?"
Сообщение от zman emailИскать по авторуВ закладки on 09-Авг-02, 01:23  (MSK)
на машине с suse linux 2.2.21
есть два внешних айпи адреса:
eth0: 100.0.0.1
eth2: 100.0.0.2
и два внутренних:
eth1: 192.168.10.1
eth3: 192.168.20.1

как заставить ходить
eth3: 192.168.20.1
в инет через
eth2: 100.0.0.2

делал
route add -net 192.168.20.0 netmask 255.255.255.0 gw 100.0.0.2 eth2
после этого перестаёт пинговаться вся 192.168.20.1 сетка
явно где-то торможу =(

поможите чай-кипятильнику

  Рекомендовать в FAQ | Cообщить модератору | Наверх

 Оглавление

Индекс форумов | Темы | Пред. тема | След. тема
Сообщения по теме

1. "RE: route и два внешних ip, как ... ?"
Сообщение от EugeniyD emailИскать по авторуВ закладки on 09-Авг-02, 02:48  (MSK)
>делал
>route add -net 192.168.20.0 netmask 255.255.255.0 gw 100.0.0.2 eth2
>после этого перестаёт пинговаться вся 192.168.20.1 сетка
>явно где-то торможу =(
А теперь посмотри, что сделал: заставляешь все пакеты адресованные в 192.168.20.0 идти через eth2, а не через eth3, поэтому пинги и не проходят.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

2. "RE: route и два внешних ip, как ... ?"
Сообщение от AD emailИскать по авторуВ закладки on 09-Авг-02, 06:15  (MSK)
>на машине с suse linux 2.2.21
>есть два внешних айпи адреса:
>eth0: 100.0.0.1
>eth2: 100.0.0.2
>и два внутренних:
>eth1: 192.168.10.1
>eth3: 192.168.20.1
>
>как заставить ходить
>eth3: 192.168.20.1
>в инет через
>eth2: 100.0.0.2
>
>делал
>route add -net 192.168.20.0 netmask 255.255.255.0 gw 100.0.0.2 eth2
>после этого перестаёт пинговаться вся 192.168.20.1 сетка
>явно где-то торможу =(
>
>поможите чай-кипятильнику

route add -net 192.168.20.0 netmask 255.255.255.0 gw 100.0.0.2 eth2
route add default gw адрес_смотрящий в локалку /

  Рекомендовать в FAQ | Cообщить модератору | Наверх

3. "RE: route и два внешних ip, как ... ?"
Сообщение от zman emailИскать по авторуВ закладки on 10-Авг-02, 20:21  (MSK)
> route add -net 192.168.20.0 netmask 255.255.255.0 gw 100.0.0.2 eth2
> route add default gw 192.168.20.1 eth3

не работает
=((

более того перестаёт работать и
сетка на eth1-192.168.10.0

  Рекомендовать в FAQ | Cообщить модератору | Наверх

4. "RE: route и два внешних ip, как ... ?"
Сообщение от Firewalker emailИскать по авторуВ закладки on 10-Авг-02, 20:47  (MSK)
судя по тому что я вижу -- тебе route не поможет.
нужно испльзовать ip из пакета iproute2 и НАТ (если нужно).
(то есть енто не простой роутинг, а полиси роутинг)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

5. "всё тотже route и два внешних ip, как ... ?"
Сообщение от zman emailИскать по авторуВ закладки on 23-Авг-02, 06:04  (MSK)
почти всё таже конфигурация:

ip 1 - XX.XX.XX.251
интерфейс - eth0
внутренний интерфейс eth3, сетка - 192.168.20.0/24

ip 2 - XX.XX.XX.250
интерфейс - eth2
внутренний интерфейс eth1, сетка - 192.168.10.0/24

понятно, что хочется чтобы две внутренних сетки ходили
через разные внешние айпи

поставил ентот iproute2

один из вариантов:
#ip rule add from 192.168.10.0/24 lookup 1 pref 100
#ip rule add from 192.168.20.0/24 lookup 2 pref 101

#ip route add default via XX.XX.XX.250 dev eth2 table 1
#ip route add default via XX.XX.XX.251 dev eth0 table 2

пинг с линукса на (например) 192.168.10.3 - работает
а с локальной сетки с 192.168.10.3 на линукс уже не пингуется

далее, с первым вариантом пробовал ставить "стандартную" маршрутизацию
#route add -net 192.168.10.0 netmask 255.255.255.0 gw XX.XX.XX.250 eth2
#route add -net 192.168.20.0 netmask 255.255.255.0 gw XX.XX.XX.251 eth0
#ip route add default gw XX.XX.XX.251 metric 0 eth0
#ip route add default gw XX.XX.XX.250 metric 1 eth2
результат тот же


следующий вариант:

#ip rule add to XX.XX.XX.251 lookup 100
#ip rule add to XX.XX.XX.250 lookup 101

#ip ru add from 192.168.20.0/24 lookup 100
#ip ru add from 192.168.10.0/24 lookup 101

#ip ro add default via XX.XX.XX.251 dev eth0 table 100
#ip ro add default via XX.XX.XX.250 dev eth2 table 101


поставил последнее ядро 2.4.19
перекомпилировал с опциями "advanced routing" и "policy routing"

каждый раз очищал кэш
#ip route flush cache

делал:
#echo "1" > /proc/sys/net/ipv4/ip_forward

в начале поставил iproute2 от 010824
позже поставил версию от 020116 числа

бегал с бубном... бегал по потолку...
...ничего не помогает...

одна надежда осталась на все-знающего ALL'а

подскажите ... где торможу?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

6. "RE: route и два внешних ip, как ... ?"
Сообщение от Firewalker Искать по авторуВ закладки on 24-Авг-02, 21:16  (MSK)
я так понял что ты хочешь чтоб вся сеть 192.168.20.0/24
ходила через 100.0.0.2
тоды делаеш дефолт на 100.0.0.1
ну примерно так:
## move default look-up higher
ip rule add prio 77777 table default
ip rule del prio 32767
## For dialup (notice:  this is _after_ main table)
ip rule add unicast from 192.168.20.0/24 prio 33000 table 2
# this is default route
ip route add t default default dev eth0 src 100.0.0.1
# alternative
ip route add t 2 default dev eth2 src 100.0.0.2

# and if you want ;-) do nat
iptables -t nat -A POSTROUTING -s 192.168.20.0/24 -j SNAT --to-source 100.0.0.2

iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to-source 100.0.0.1

ну что-то типа...

  Рекомендовать в FAQ | Cообщить модератору | Наверх

7. "RE: route и два внешних ip, как ... ?"
Сообщение от samuil Искать по авторуВ закладки on 25-Авг-02, 06:49  (MSK)
Возможно я не прав  но интерфейсы какие подсети имеют? Мне кажется так делать низя
eth0: 100.0.0.1
eth2: 100.0.0.2
  Рекомендовать в FAQ | Cообщить модератору | Наверх

8. "RE: route и два внешних ip, как ... ?"
Сообщение от Firewalker Искать по авторуВ закладки on 25-Авг-02, 19:30  (MSK)
>Возможно я не прав  но интерфейсы какие подсети имеют
какие имеют такие и вставляем ;-)
/24 я для примера сделал.


  Рекомендовать в FAQ | Cообщить модератору | Наверх

9. "RE: route и два внешних ip, как ... ?"
Сообщение от samuil Искать по авторуВ закладки on 26-Авг-02, 06:18  (MSK)
>>Возможно я не прав  но интерфейсы какие подсети имеют
>какие имеют такие и вставляем ;-)
>/24 я для примера сделал.


неправильно ты для примера сделал
у тебя оба адреса в одной подсети находятся - пакеты заблудятся.
Да и работать не должно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх

10. "RE: route и два внешних ip, как ... ?"
Сообщение от Sampan Искать по авторуВ закладки on 26-Авг-02, 16:31  (MSK)
>у тебя оба адреса в одной подсети находятся - пакеты заблудятся.
>Да и работать не должно.

По науке не должно, но можно :-)
echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo "1" > /proc/sys/net/ipv4/conf/eth2/proxy_arp

У меня работает роут при адресах из одной сети на разных интерфейсах

  Рекомендовать в FAQ | Cообщить модератору | Наверх

11. "RE: route и два внешних ip, как ... ?"
Сообщение от Firewalker Искать по авторуВ закладки on 26-Авг-02, 22:02  (MSK)
>>>Возможно я не прав  но интерфейсы какие подсети имеют
>>какие имеют такие и вставляем ;-)
>>/24 я для примера сделал.
>
>
>неправильно ты для примера сделал
>у тебя оба адреса в одной подсети находятся - пакеты заблудятся.
>Да и работать не должно.
sorry ne pojnjal :)
konjecho tam dolgno byt' /32
(kak vsjegda byvajet dlja
point to point sojedinenija)
  Рекомендовать в FAQ | Cообщить модератору | Наверх

12. "RE: route и два внешних ip, как ... ?"
Сообщение от samuil Искать по авторуВ закладки on 27-Авг-02, 06:52  (MSK)
>По науке не должно, но можно :-)
>echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp
>echo "1" > /proc/sys/net/ipv4/conf/eth2/proxy_arp

>У меня работает роут при адресах из одной сети на разных интерфейсах


Есло не в лом - подробнее или где читать?

  Рекомендовать в FAQ | Cообщить модератору | Наверх

13. "RE: route и два внешних ip, как ... ?"
Сообщение от Sampan Искать по авторуВ закладки on 27-Авг-02, 11:36  (MSK)
>Есло не в лом - подробнее

Диспозиция:
Сервер linux 2.2.21, три сетевые карты. Одна карта eth2 в локальную сеть с fake адресами (на этом интерфейсе NAT). Тут все ясно, не интересно.
Две другие имеют реальные адреса из одной сети. Например eth0 - A.A.A.5/32, eth1 - A.A.A.6/32
eth0 подключен к маршрутизатору A.A.A.1/32 В этом сегменте больше ни чего нет. К eth1 подключен сегмент с хостами A.A.A.3/32, A.A.A.9/32 и т.д. Этот сегмент - DMZ. Правилами файрвола определено что можно форвардить от eth0 к eth1.

Таблица маршрутизации (в части eth0 и eth1):
A.A.A.1  255.255.255.255  0.0.0.0  UH  eth0  # шлюз в Интернет
A.A.A.5  255.255.255.255  0.0.0.0  UH  eth0  # собственный адрес eth0
A.A.A.6  255.255.255.255  0.0.0.0  UH  eth1  # собственный адрес eth1
A.A.A.0  255.255.255.0    0.0.0.0  U   eth1  # роут на сеть А.А.А.0/24
0.0.0.0  0.0.0.0          A.A.A.1  UG  eth0  # default route

Без дополнительной настройки такая конфигурация не работает - внутренние хосты в DMZ (A.A.A.10 и т.д) не доступны.

Включаем Proxy ARP на этих двух интерфейсах
echo "1" > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo "1" > /proc/sys/net/ipv4/conf/eth1/proxy_arp
и стало все замечательно! Пакеты бегают, фаирвол фильтрует.

Снаружи невозможно понять, что адреса А.А.А.3, А.А.А.20 и т.д. находятся за фаирволом А.А.А.5-А.А.А.6 (traceroute, естественно фильтруется :-)

>где читать?
Почему заработало разобраться не сложно. Спецификации ETHERNET и описания протокола ARP достаточно.

  Рекомендовать в FAQ | Cообщить модератору | Наверх


Удалить

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




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру