Изложу суть. Имеем сервер на CentOS. НА сервере 4 сетевых интерфейса: 3 проводных, один беспроводной. От провайдера забираем реальную подсетку. Интерфейсы:
eth0 - Смотрит на провайдера, здесь висит транспортный айпишник.
eth1 - Смотрит внутрь сети, раздает реальные айпишники, не натит, не маскарадит, только роутит. dhcp.
eth2 - Смотрит внутрь сети, раздает фейки (192.168.0.0/24), натит, маскарадит. dhcp.
wlan0 - Раздает фейки (192.168.1.0/24), натит, маскарадит. dhcp.
С eth2 и wlan0, в принципе, вопросов вообще нет. Через eth0 натим и радуемся. Как при всем при этом скормить реальную подсетку eth1? Просто роутим куда надо и форвардим? Будет работать? Что iptables скормить? Меня немного запутали, говорят iptables для такого вообще конфигурировать не надо. Просьба не бить тапками, никогда на линуксе подобное не настраивал. На фряхе только делал. Пока еще не ковырял данную конфигурацию, но на днях надо будет оперативно настроить. Кто что посоветует?
Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса) (Хотябы общие тезисы...)
Модераторы: SLEDopit, Модераторы разделов
-
DialSoft
- Сообщения: 322
- Статус: Властитель безумных пингвинов
- ОС: FreeBSD, CentOS, Slackware.
-
DaemonTux
- Сообщения: 1480
- Статус: Юный падаван
- ОС: Gentoo
Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)
ну для eth1 скорее всего есть 2,5 решения
0,5) сделать некое подобие dmz. по dhcp выдавать серые ip , делать проброс всех портов с каждого белого на серый адрес (dnat 1-1)
1) заюзать proxy-arp.
2) договориться с провайдером о том чтобы порезал вашу сеть и в качестве маршрута для части сети лежащей за eth1 указал ip eth0. Это можно сделать как статикой так и используя протоколу маршрутизации.
0,5) сделать некое подобие dmz. по dhcp выдавать серые ip , делать проброс всех портов с каждого белого на серый адрес (dnat 1-1)
1) заюзать proxy-arp.
2) договориться с провайдером о том чтобы порезал вашу сеть и в качестве маршрута для части сети лежащей за eth1 указал ip eth0. Это можно сделать как статикой так и используя протоколу маршрутизации.
Vladivostok Linux User Group
-
DialSoft
- Сообщения: 322
- Статус: Властитель безумных пингвинов
- ОС: FreeBSD, CentOS, Slackware.
Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)
DaemonTux писал(а): ↑02.11.2011 10:26ну для eth1 скорее всего есть 2,5 решения
0,5) сделать некое подобие dmz. по dhcp выдавать серые ip , делать проброс всех портов с каждого белого на серый адрес (dnat 1-1)
1) заюзать proxy-arp.
2) договориться с провайдером о том чтобы порезал вашу сеть и в качестве маршрута для части сети лежащей за eth1 указал ip eth0. Это можно сделать как статикой так и используя протоколу маршрутизации.
0,5) Эммм... Не до окнца понял, зачем? Какие приемущества то?
1) Вот это уже интересно. Надо подумать.
2) Тут как то вообще не понимаю о чем речь. Динамика отпадает в принципе, ибо на столь маленькую подсетку ее применять нет смысла, все статикой сделаю. К тому же, данная подсеть не является отдельной автономной подсетью. Про договоренности с провайдером тоже не понял. Дается подсеть, дается один транспортный ip. Все статикой тупо и бездумно роутим на него? Нет?
-
DaemonTux
- Сообщения: 1480
- Статус: Юный падаван
- ОС: Gentoo
Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)
0,5) Преимущества простота реализации.
2) Если вы хотите заюзать классическую маршрутизацию то просто назначить белые ip на хосты за интерфейсом eth1 не получется. Маршрутизатор провайдера не знает что для того чтобы доставить пакеты на эти ip нужно пройти еще один маршрутизатор. Если нужны объяснения почему так, то рекомендую ознакомиться с принципами работы arp.
Кстати а почему просто не подключить компы которым нужен белый ip напрямую в сеть провайдера?
2) Если вы хотите заюзать классическую маршрутизацию то просто назначить белые ip на хосты за интерфейсом eth1 не получется. Маршрутизатор провайдера не знает что для того чтобы доставить пакеты на эти ip нужно пройти еще один маршрутизатор. Если нужны объяснения почему так, то рекомендую ознакомиться с принципами работы arp.
Кстати а почему просто не подключить компы которым нужен белый ip напрямую в сеть провайдера?
Vladivostok Linux User Group
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)
в общем да, если нужные пакеты не будут блокироваться вашими текущими правилами и/или политиками цепочек·
набросок:
ip=1.1.1.1/32 — «транспортный» (как вы его назвали) ip
net=2.2.2.0/24 — пробрасываемая сеть
на шлюзе:
$ sudo ip a d $ip dev eth0 #он здесь не нужен
$ sudo ip a a $ip dev eth1 #а нужен здесь
$ sudo ip r a $net dev eth1
$ echo 1 | sudo tee /proc/sys/net/ipv4/conf/eth{0,1}/forwarding # если ещё не включено
и добавить при необходимости разрешающие правила в цепочки input, output, forward
на клиентах, подключенных к eth1:
1. должны быть добавлены нужные адреса из диапазона $net (статически или по dhcp)
2. дефолтным шлюзом должен быть указан $ip
пуркуа бы не па?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог
-
sash-kan
- Администратор
- Сообщения: 13939
- Статус: oel ngati kameie
- ОС: GNU
Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)
почему я пишу, что адрес нужен на eth1, а не на eth0?
потому что, скорее всего, у вас $ip входит в диапазон $net, а значит, вам не нужна третья команда (sudo ip r a $net dev eth1), а нужно всего лишь указать в $ip нужную маску (вместо демонстрационной "32")·
если же $ip не входит в $net, то, в общем, безразлично, на каком интерфейсе «висит» этот адрес·
хоть к eth2 или wlan0 его добавьте·
но в этом случае надо будет по-другому строить маршрутизацию у клиентов:
перед
$ sudo ip r a default via $ip dev <интерфейс клиента, подключенный к шлюзовому eth1>
надо будет добавить сам адрес в таблицу маршрутизации:
$ sudo ip r a $ip dev <интерфейс клиента, подключенный к шлюзовому eth1>
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
при сбоях форума см.блог