Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса) (Хотябы общие тезисы...)

Обсуждение настройки и работы сервисов, резервирования, сетевых настроек и вопросов безопасности ОС.

Модераторы: SLEDopit, Модераторы разделов

Аватара пользователя
DialSoft
Сообщения: 322
Статус: Властитель безумных пингвинов
ОС: FreeBSD, CentOS, Slackware.

Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)

Сообщение DialSoft »

Изложу суть. Имеем сервер на 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 для такого вообще конфигурировать не надо. Просьба не бить тапками, никогда на линуксе подобное не настраивал. На фряхе только делал. Пока еще не ковырял данную конфигурацию, но на днях надо будет оперативно настроить. Кто что посоветует?
Спасибо сказали:
Аватара пользователя
DaemonTux
Сообщения: 1480
Статус: Юный падаван
ОС: Gentoo

Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)

Сообщение DaemonTux »

ну для eth1 скорее всего есть 2,5 решения
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 сетевых интерфейса)

Сообщение DialSoft »

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 сетевых интерфейса)

Сообщение DaemonTux »

0,5) Преимущества простота реализации.
2) Если вы хотите заюзать классическую маршрутизацию то просто назначить белые ip на хосты за интерфейсом eth1 не получется. Маршрутизатор провайдера не знает что для того чтобы доставить пакеты на эти ip нужно пройти еще один маршрутизатор. Если нужны объяснения почему так, то рекомендую ознакомиться с принципами работы arp.

Кстати а почему просто не подключить компы которым нужен белый ip напрямую в сеть провайдера?
Vladivostok Linux User Group
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)

Сообщение sash-kan »

DialSoft писал(а):
01.11.2011 19:29
Меня немного запутали, говорят iptables для такого вообще конфигурировать не надо.
в общем да, если нужные пакеты не будут блокироваться вашими текущими правилами и/или политиками цепочек·

набросок:

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

DialSoft писал(а):
01.11.2011 19:29
Будет работать?
пуркуа бы не па?
Писать безграмотно - значит посягать на время людей, к которым мы адресуемся, а потому совершенно недопустимо в правильно организованном обществе. © Щерба Л. В., 1957
при сбоях форума см.блог
Спасибо сказали:
Аватара пользователя
sash-kan
Администратор
Сообщения: 13939
Статус: oel ngati kameie
ОС: GNU

Re: Посоветуйте как лучше разрулить сеть (4 сетевых интерфейса)

Сообщение sash-kan »

sash-kan писал(а):
02.11.2011 15:39
$ sudo ip a d $ip dev eth0 #он здесь не нужен
$ sudo ip a a $ip dev eth1 #а нужен здесь
почему я пишу, что адрес нужен на 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
при сбоях форума см.блог
Спасибо сказали: