Привет всем!
Ребята подскажите столкнулся с проблемой Значит так
Есть 2 сети 1я 192.168.0.* вторая 10.10.10.*
Можно даже привести пример Имея хаб в него воткнут компьютер 192.168.0.10 к примеру далее второй 10.10.10.10 и в этот же хаб Машина Линукс
Мне нужно обьеденить их в 1 Почитал и пришёл к заключению что оптимальный вариант компьютер с 2 сетевыми в обе стороны на Linux
Далее вопрос как это сделать, почитал и пришёл к выводу что это делается с помощю IPTABLES Но так и не смог реализовать работу сетей в одну Тут просто нужно сделать прозрачную сеть без всяких фильтров Что бы была полноценная сеть
Пишу в Ubuntu следующее
iptables -t filter -A FORWARD -s 10.10.10.0/24 -d ! 192.168.0.0/24 -j DROP
iptables -t filter -A FORWARD -s 192.168.0.0/24 -d ! 10.10.10.0/24 -j DROP
iptables -t nat -A POSTROUTING -s 192.168.0.1 -d 10.10.10.0/24 -j SNAT --to-source 10.10.10.1
iptables -t nat -A POSTROUTING -s 10.10.10.1 -d 192.168.0.0/24 -j SNAT --to-source 192.168.0.1
Информацию эту нашёл в паутине С ней у меня что то неработает
Особенно тот момент где речь идёт о маскарадинг Почему указывается конкретный ипи адресс 192.168.0.1 Если у меня его нету и нет 10.10.10.1
Поясните пожалуйста Что не так и почему не работает
Ubuntu Iptables 2 сети (не могу сообразить)
Модераторы: SLEDopit, Модераторы разделов
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Ubuntu Iptables 2 сети
Потому что твои сети друг для друга являются "чужими" относительно маски подсети. Нужно прописать маршруты через твой линукс. Либо увеличивать маску и делать бридж. Не забудь еще форвардинг включить
-
zasadadada
- Сообщения: 12
Re: Ubuntu Iptables 2 сети
тааак Форвардинг включил
sysctl -w net.ipv4.ip_forward=1
А что за маршруты прописать вот тут не понятно ??? Поясните пожалуйста на примере в моём случаи Что бы понятно было
я всего пару дней в этой теме с линуксом Вообщем то мне нужна от него на данный момент только эта функция что бы 2 сети подключить.
А что за маршруты прописать вот тут не понятно ??? Поясните пожалуйста на примере в моём случаи Что бы понятно было
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Ubuntu Iptables 2 сети
Объясняю. Все ваши клиентские компьютеры, находящиеся в сетях, которые вы соединяете настроены таким образом, что они отправляют сетевые пакеты двумя маршрутами:
1. Если получатель пакета в моей подсети, то я просто выбрасываю пакет в провод, а там будь что будет. Пакет ловят все, кто физически это смог сделать. По идее это только те, кто в подсети отправляющего компьютера. Т.к. у вас маска подсети не охватывает диапазон адресов соседней сети, с которой вы хотите соединиться, то даже если бы вы их соединили физически, компы второй сети пакеты отбрасывали бы.
2. Если пакет предназначен для компьютера любой другой сети - то посылаем пакет через шлюз. Даю 100%, что в обоих сетях присутствуют шлюзы по-умолчанию, через которые идет интернет, которые и слыхом не слыхивали о какой-то соседней сети, что туда надо перебрасывать пакеты... и пр.
Короче, выхода 3:
1. либо прописываешь на каждом компьютере маску побольше, а на linux-машине делаешь бридж
2. либо прописываешь на каждой машине дополнительный маршрут к соседней сети через linux-машину, а на ней делаешь форвардинг
3. либо компьютеры, которые являются шлюзами по-умолчанию в обоих подсетях, вводишь в соседние сети (чтоб они помимо своей локальной сети и интернета были еще и в сети соседа). Для этого настраиваешь еще и маскардинг (SNAT) на них
1. Если получатель пакета в моей подсети, то я просто выбрасываю пакет в провод, а там будь что будет. Пакет ловят все, кто физически это смог сделать. По идее это только те, кто в подсети отправляющего компьютера. Т.к. у вас маска подсети не охватывает диапазон адресов соседней сети, с которой вы хотите соединиться, то даже если бы вы их соединили физически, компы второй сети пакеты отбрасывали бы.
2. Если пакет предназначен для компьютера любой другой сети - то посылаем пакет через шлюз. Даю 100%, что в обоих сетях присутствуют шлюзы по-умолчанию, через которые идет интернет, которые и слыхом не слыхивали о какой-то соседней сети, что туда надо перебрасывать пакеты... и пр.
Короче, выхода 3:
1. либо прописываешь на каждом компьютере маску побольше, а на linux-машине делаешь бридж
2. либо прописываешь на каждой машине дополнительный маршрут к соседней сети через linux-машину, а на ней делаешь форвардинг
3. либо компьютеры, которые являются шлюзами по-умолчанию в обоих подсетях, вводишь в соседние сети (чтоб они помимо своей локальной сети и интернета были еще и в сети соседа). Для этого настраиваешь еще и маскардинг (SNAT) на них
-
little Jon
- Сообщения: 212
Re: Ubuntu Iptables 2 сети
zasadadada писал(а): ↑15.01.2010 22:10тааак Форвардинг включилsysctl -w net.ipv4.ip_forward=1
А что за маршруты прописать вот тут не понятно ??? Поясните пожалуйста на примере в моём случаи Что бы понятно было
я всего пару дней в этой теме с линуксом Вообщем то мне нужна от него на данный момент только эта функция что бы 2 сети подключить.
Суть идеи роутинга проста, вы должны дать понять отправляющему сетевой пакет хосту что вход в определенную сеть/подсеть находиться по такому то адресу, пакеты во все другие сети надо отправлять на шлюз (default Gateway) по умолчанию . Например, я указываю рабочей станции с адресом 192.168.0.10 что переход в подсеть 10.10.10.0 находится по адресу 192.168.0.100, default getway 192.168.0.254
route add -net 10.10.10.0 netmask 255.255.255.0 gw 192.168.0.100
route add default gw 192.168.0.254
Но прописывать маршруты в каждом хосте сети удовольствие ещё то. Поэтому удобней в сети иметь один getway и с него распределять запросы по другим сетям.
Есть другое решение, это сетевой мост он же бридж. Он реализует следующее. Когда в сети появляется запрос в другую подсеть бридж его принимает и прозрачно передает в другую подсеть. Например мост с использованием 2 сетевых карт с адресами на eth0 192.168.0.100 на eth1 10.10.10.20
brctl addbr mybridgename
brctl addif mybridgename eth0
brctl addif mybridgename eth1
Вот собственно мост и готов. Для порядка, если мостЪ у нас один, то уменьшим шум отключив трафик которым мосты обмениваются между собой
brctl stp mybridgename off
Собственно бридж и создавался именно для соединения разных подсетей.
Linuxforum@conference.jabber.ru
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Ubuntu Iptables 2 сети
Для бриджа разве не нужно маску увеличивать? В противном случае пакеты будет принимать не бридж, а шлюз
-
zasadadada
- Сообщения: 12
Re: Ubuntu Iptables 2 сети
В Windows 2003 Делал мост из 2х стевых подключений Он их обьеденил и как бы преобразовал 2 подключения в одно В этом подключении нужно было указать новый ипи адрес серверу указал 20.20.20.1 А 2 сети по ту сторону сетевых были 10 и 192 Дак вот что бы Это всё дело заработало вместе нужно было вводить диапозон один и на сервере и на 2 сетях Из за этого вариант мне не очень понравился По крайне мере если я не ошибаюсь я так понял систему моста.
little Jon Поэтому удобней в сети иметь один getway и с него распределять запросы по другим сетям.
Вот это хотелось бы сделать А разве что я пытаюсь сделать обречено на провал ? то что написал выше Где то читал рекомендовали такую систему Мол Iptables перехватывает и преобразовывает одно в другое
little Jon Поэтому удобней в сети иметь один getway и с него распределять запросы по другим сетям.
Вот это хотелось бы сделать А разве что я пытаюсь сделать обречено на провал ? то что написал выше Где то читал рекомендовали такую систему Мол Iptables перехватывает и преобразовывает одно в другое
-
little Jon
- Сообщения: 212
Re: Ubuntu Iptables 2 сети
Нет это не обязательно. Ethernet пакет в сети идет не адресно от точки до точки, это широковещательная рассылка. Бридж понимает и подхватывает этот пакет проверяет и повторяет его с другого сетевого интерфейса.
Linuxforum@conference.jabber.ru
-
little Jon
- Сообщения: 212
Re: Ubuntu Iptables 2 сети
zasadadada писал(а): ↑15.01.2010 23:48В Windows 2003 Делал мост из 2х стевых подключений Он их обьеденил и как бы преобразовал 2 подключения в одно В этом подключении нужно было указать новый ипи адрес серверу указал 20.20.20.1 А 2 сети по ту сторону сетевых были 10 и 192 Дак вот что бы Это всё дело заработало вместе нужно было вводить диапозон один и на сервере и на 2 сетях Из за этого вариант мне не очень понравился По крайне мере если я не ошибаюсь я так понял систему моста.
little Jon Поэтому удобней в сети иметь один getway и с него распределять запросы по другим сетям.
Вот это хотелось бы сделать А разве что я пытаюсь сделать обречено на провал ? то что написал выше Где то читал рекомендовали такую систему Мол Iptables перехватывает и преобразовывает одно в другое
Можно эту задачу решить разными способами. pelmen перечислил для Вас три.
Вам пора познакомиться с сайтом Ивана Песина http://www.n-ix.com/ipesin/ Там есть Bert Hubert и др., перевод в соавторстве с Андреем Киселёвым. Linux Advanced Routing & Traffic Control HOWTO. это классика.
Linuxforum@conference.jabber.ru
-
zasadadada
- Сообщения: 12
Re: Ubuntu Iptables 2 сети
Вопрос решил следующим методом.
На всех машинах указал в моём случаи шлюз на сервер линукса. Так как у меня нету других шлюзов. Далее на серваке прописал route от 1 сетевой к другой На этой машине И сопственно всё. Заработало. ВОт только получаеться что Убунту как будто сделал Домен Через статистику видно сетевую. Ubuntu.local
Буду пробовать сделать тоже самое средствами Iptables вроде как круче
хотя чёрт знает
На всех машинах указал в моём случаи шлюз на сервер линукса. Так как у меня нету других шлюзов. Далее на серваке прописал route от 1 сетевой к другой На этой машине И сопственно всё. Заработало. ВОт только получаеться что Убунту как будто сделал Домен Через статистику видно сетевую. Ubuntu.local
Буду пробовать сделать тоже самое средствами Iptables вроде как круче
-
pelmen
- Сообщения: 1268
- ОС: debian
Re: Ubuntu Iptables 2 сети
Покажи, какие команды вводил (route???)
-
zasadadada
- Сообщения: 12
Re: Ubuntu Iptables 2 сети
а стандарт
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.10.10.1 eth1 Вроде бы так если что то и не так то ипи адреса поменять Щас пытаюсь сделать шлюз между 2мя хп машинами главными А к ним ещё обычные подцеплены через шлюз тоже а по центру вмонтировать линукс с iptables Это пробный вариант возможно цепочка незаработает Но покрайне мере попытка будет защитана
Вобщем Вывод Что бы соеденить 2 сети надо Сопственно простыми словами соеденялку которая смотреть в обе сети и достаточно команды роут (укажите откуда куда) Это будет вариант пропускать вообще всё . Если вы хотите что то запретить используйте iptables. Хотя у меня знакомый предпологает что маршрутизацию можно сделать командо iptables Но я в этом не уверен так как Ни чего не получилось.
Вобщем Вывод Что бы соеденить 2 сети надо Сопственно простыми словами соеденялку которая смотреть в обе сети и достаточно команды роут (укажите откуда куда) Это будет вариант пропускать вообще всё . Если вы хотите что то запретить используйте iptables. Хотя у меня знакомый предпологает что маршрутизацию можно сделать командо iptables Но я в этом не уверен так как Ни чего не получилось.