The OpenNET Project / Index page

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

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

"Выброс хоста из-за NATа 'как у провайдера'"  
Сообщение от Krieger email(??) on 06-Авг-07, 17:20 
Расскажу вкратце топологию моей сети.
Кабель от провайдера входит в eth0 моего "файрволла" (кодовое имя warsword), на который законно адресованы один реальный ip и один провайдерский маскарадный. От файрволла eth1 ведёт к рабочей станции (kitezh). Для проброса соединения к Китежу на данный момент используется внутреннее представление как сети 192.168.0.0/24, у шлюза ip 192.168.0.1, у рабочей станции 192.168.0.2
Используемое шлюзом правило:
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Хочу устроить такое: реальный ip пусть продолжает указывать только на шлюз, а хоминетовский маскарадный указывал на внутренний хост. При сем не как-нибудь, а так, чтобы и сам kitezh считал себя провайдерским маскарадным хостом (имеются в виду его сетевые настройки), то есть шлюзование должно быть "прозрачным". То есть сделать проброс соединения практически "как у провайдера", только в этом случае пробрасываем не реальный, а маскарадный "LANовский" ip-адрес.
Вариант с туннелями эту функциональность реализует, но это сильнее грузит шлюз и пр. (дополнительные заголовки появляются).

Короче, помогите. LARTC howto прочитал весь, руководство iptables тоже (правда, давно, сейчас полностью не перечитывал, только примеры, но там слегка не мой случай в rc.DMZ.firewall), но опыта применения мало, так что теряюсь.

На обоих хостах gentoo linux, установлены iptables и iproute2, и я так понимаю, правильней будет пользоваться именно iproute2.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени, UBB]


1. "Выброс хоста из-за NATа 'как у провайдера'"  
Сообщение от Salamander (ok) on 06-Авг-07, 20:15 
>[оверквотинг удален]
>этом случае пробрасываем не реальный, а маскарадный "LANовский" ip-адрес.
>Вариант с туннелями эту функциональность реализует, но это сильнее грузит шлюз и
>пр. (дополнительные заголовки появляются).
>
>Короче, помогите. LARTC howto прочитал весь, руководство iptables тоже (правда, давно, сейчас
>полностью не перечитывал, только примеры, но там слегка не мой случай
>в rc.DMZ.firewall), но опыта применения мало, так что теряюсь.
>
>На обоих хостах gentoo linux, установлены iptables и iproute2, и я так
>понимаю, правильней будет пользоваться именно iproute2.

Погуглите на предмет arp proxy - как раз Ваш случай

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Выброс хоста из-за NATа 'как у провайдера'"  
Сообщение от Krieger email(??) on 08-Авг-07, 14:59 
>Погуглите на предмет arp proxy - как раз Ваш случай

Спасибо за направление. Хоть тема и совсем неизвестная для меня, но это работает.

Руководствовался
http://www.opennet.dev/tips/info/923.shtml
Пришлось, правда, просить ещё один маскарадный ип у провайдера, без этого, кажется, никак.
Если я правильно понимаю, второй маскарадный в данном случае необходим и достаточен и для arp-proxy, и для решения вопроса туннелями или iptables.

Выкладываю конфиг-файлы для благодарных потомков.

/etc/conf.d/net на шлюзе:

modules=( "iproute2" )
config_eth0=( "192.168.85.112 netmask 255.255.255.0" )
config_eth1=( "192.168.85.112 netmask 255.255.255.0" )

/etc/init.d/routing на шлюзе (добавлен в runlevel default):

#!/sbin/runscript

PATH="/sbin/:$PATH" # это паранойя, не обращайте внимания

start()
{
ip addr add 80.90.233.15/27 dev eth0 # присваиваем шлюзу внешний ип - не зря же я за него плачу

ip route del 192.168.85.0/24 dev eth0
ip route del 192.168.85.0/24 dev eth1

ip route add 192.168.85.1      dev eth0
ip route add 192.168.85.111/32 dev eth1
ip route add 192.168.85.0/24   dev eth0 # возможно, эта строка лишняя, но я решил перестраховаться
ip route add default via 192.168.85.1

# теперь мы ударяем в соответствующий бубен и это чудо срабатывает!!!
echo 1 > /proc/sys/net/ipv4/conf/eth0/proxy_arp
echo 1 > /proc/sys/net/ipv4/conf/eth1/proxy_arp
}


А пробрасываемая тачка, как и полагается, кем себя считает, тем и является:
/etc/conf.d/net:

modules=( "iproute2" )
config_eth0=( "192.168.85.111 netmask 255.255.255.0" )
routes_eth0=( "default gw 192.168.85.1" )

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Выброс хоста из-за NATа 'как у провайдера'"  
Сообщение от Krieger email(??) on 08-Авг-07, 22:57 
Ещё один способ (вернее даже не один), и тут тоже нужен третий ip-адрес.

http://support.infinet.ru/Forums/technicalIssues/949767192478

ПС Если я гоню, и третий ип не нужен - то отпишитесь, не дайте умереть дураком.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Выброс хоста из-за NATа 'как у провайдера'"  
Сообщение от Salamander (ok) on 09-Авг-07, 00:04 
>Ещё один способ (вернее даже не один), и тут тоже нужен третий
>ip-адрес.
>
>http://support.infinet.ru/Forums/technicalIssues/949767192478
>
>ПС Если я гоню, и третий ип не нужен - то отпишитесь,
>не дайте умереть дураком.

нужен. Я по крайней мере не нашел решение такой задачи без еще одного АйПи.
Может конечно можно иптаблез прикрутить, но я что-то не стал углубляться дальше.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




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

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