Доброго.
Есть подсеть - 192.168.1.0/24 (Подсеть 1)
Есть подсеть - 192.168.2.0/24 (Подсеть 2)
Хочу их соеденить.
Ставлю машину с двумя карточками. (Роутер 1)
На одну вешаю ип : 192.168.1.1, на другую ип : 192.168.2.1.
в sysctrl.conf выставляю net.ipv4.ip_forward = 1.
Пытаюсь пинговать с этого компьютера Подсеть 1 и Подсеть 2. Пингуются.
Беру машину второй подсети.
у нее /etc/conf.d/net
modules=( "iproute2" ) config_eth0=( "192.168.2.2 netmask 255.255.255.0 brd 192.168.2.255" ) routes_eth0=( "default gw 192.168.2.1" )
и если я пингую допустим 192.168.1.2 (машину подсети 1), то машина не пингуетя..
Я так понимаю, что нужно на Роутере 1 нужно прописать маршрут для всех пакетов предназначенных для подсети 192.168.1.0/24 пускать через 192.168.1.1, а все пакеты для подсети 192.168.2.0/24 пускать через 192.168.2.1.
Пытаюсь сделать так для того чтобы из подсети 2 можно было бы пинговать подсеть 1.
в /etc/conf.d/net на Роутере 1:
config_eth1=( "192.168.2.1 netmask 255.255.255.0 brd 192.168.2.255" )
routes_eth1=(
"-net 192.168.1.0/24 gw 192.168.1.1"
)
пытался вместо gw писать via.. результатов не принесло..
при рестарте пишет вот что:
grpr_router conf.d # /etc/init.d/net.eth1 restart * Caching service dependencies ... * Stopping eth1 * Bringing down eth1 * Shutting down eth1 ... * Starting eth1 * Bringing up eth1 * 192.168.2.1 * Adding routes * -net 192.168.1.0/24 gw 192.168.1.1 ... RTNETLINK answers: No such process
Спасибо..
З.ы. Паралельно ищу на форуме еще ответов, но нужно вложится в два часа... поэтому создал тему, может кто поможет.. спасибо.
у меня записано
у меня записано несколько иначе, и символ "-" перед net явно лишний... вообще было бы неплохо не сочинять непонятные комунды а заглянуть в net.example
routes_ppp1=( "10.0.0.0/8 via 10.44.0.1 dev ppp1" )
добавил
добавил след.:
routes_eth1=( "192.168.1.0/24 via 192.168.1.1 dev eth0" )
не помогло:
вот откуда взял маршрут предыдущий:
http://www.nixp.ru/cgi-bin/forum/YaBB.pl?board=faq;action=display;num=1131433949
routes_eth1=(
зачем в routes_eth1 писать маршрут для eth0?
Убери вообще
Убери вообще эти маршруты из conf.d/net, они есть изначально при поднятии интерфейсов. Все что тебе надо - прописать маршруты на клиентах с аналогичными путем. То есть для сетки 2.0
И для сетки 1.0:
Твой роутер априори знает, кто где находится, ибо обе сети для него - на расстоянии одного хопа. А вот компьютерам из разных сеток нужно прописать маршрутизатор, который знает, как маршрутизировать дальше.
upd:
Как уже говорили, у тебя на "второй машине" неверная запись маршрута.
Правильная:
_______________________
From Siberia with Love!
Не грусти, товарищ! Всё хорошо, beautiful good!
Эх...
Ага, NAT извращение, а маршруты прописывать на клиентах- нет...
А что, разве да?
А что, разве да? Какая ситуация, такой рецепт. Весь просвященный мир так делает. Если нужен прозрачный роутинг туда-сюда-обратно, нафиг там роутер стоит? Ставим коммутатор, делаем единую подсеть - и вперед.
_______________________
From Siberia with Love!
Не грусти, товарищ! Всё хорошо, beautiful good!
Да ну, зачем тогда вообще
Да ну, зачем тогда вообще маршрутизаторы или сервера, если можно все на клиентах прописать :)) Это изврат полный. Мягко говоря.
Какие маршруты
Какие маршруты на клиентах? Ненадо никаких маршрутов на клиентах. Один шлюз по умолчанию прописывается и все. И на маршрутизаторе тоже ничего не надо, надо лишь роутинг разрешить.
Я вообще херею как наистандартнейшая задача на соединение двух подсетей может столько обсасываться и придумываться столько решений.
Сказать почему нельзя делать NAT? Потому что тогда все запросы из одной подсети в другую будут иметь в IP адресе отправителя - IP адрес шлюза.
думал, уже тему
думал, уже тему никто и не обсуждает.. и не заходил уже сюда..
я посидел подумал..
и сделал так (все получилось так, как и хотел) :
Картинка - http://www.imgup.ru/image-1219741358c4cab5c511477c264ca0141e03f6a343
на клиент1 defaulе gateway указываю роутер 192.168.2.1
никаких дополнительныз маршрутов ему не прописываю
на сервер1 default gateway в интернет
прописал ему маршрут на сеть 192.168.1.0/24 через 192.168.2.1
на роутере указал default gateway 192.168.2.2
всё.
на сервер1 завел DHCP, который раздает всем в своей сети IP-адреса из сетки 192.168.2.0/24 и отдает всем default gateway 192.168.2.1
а дальше роутер уже будет всё решать, если пакет в 192.168.1.0/24, то в правый интерфейс (по картинке) отправит, если в 192.168.2.0/24, то в левый (по картинке), а если и ни туда, и ни туда, а на какую-то другую сеть, то отправит на сервер1, который у меня шлюз в интернет.
на роутере никакого NAT в этом случае и не будет.
NAT только на сервер1 работает
и правила прописывать вручную нужно только на сервер1, чтобы он знал о существовании сети 192.168.1.0/24? которая доступна через роутер
Вот, теперь все
Вот, теперь все верно.
NAT на шлюзе в инет (сервер1) нужен, потому что IP-шик реальный только у него есть. И маршрут на нем конечно нужен в подсеть 192.168.1.0/24, т.к. он тоже шлюзом является по сути.
Задача один в один.
Задача один в один. Теоретически все элементарно.
eth0 смотрит в подсеть 192.168.0.1
eth1 смотрит в подсеть 192.168.1.1
В подсети 192.168.1.1 есть dhcp
Нужно, чтобы был доступ из одной подсети в другую.
В /etc/conf.d/net пишу маршруты из одной в другую, С сервака обе подсети пингуются, а из одна из другой нет.
config_eth1=( "dhcp" ) config_eth0=( "192.168.0.1 netmask 255.255.255.0" ) routes_eth0=( "-net 192.168.1.0/24 gw 192.168.0.1" ) modules=( "iproute2" )