Ubuntu Iptables 2 сети (не могу сообразить)

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

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

zasadadada
Сообщения: 12

Ubuntu Iptables 2 сети

Сообщение zasadadada »

Привет всем!
Ребята подскажите столкнулся с проблемой Значит так
Есть 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
Поясните пожалуйста Что не так и почему не работает
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Ubuntu Iptables 2 сети

Сообщение pelmen »

Потому что твои сети друг для друга являются "чужими" относительно маски подсети. Нужно прописать маршруты через твой линукс. Либо увеличивать маску и делать бридж. Не забудь еще форвардинг включить
Спасибо сказали:
zasadadada
Сообщения: 12

Re: Ubuntu Iptables 2 сети

Сообщение zasadadada »

тааак Форвардинг включил :) sysctl -w net.ipv4.ip_forward=1
А что за маршруты прописать вот тут не понятно ??? Поясните пожалуйста на примере в моём случаи Что бы понятно было
:) я всего пару дней в этой теме с линуксом Вообщем то мне нужна от него на данный момент только эта функция что бы 2 сети подключить.
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Ubuntu Iptables 2 сети

Сообщение pelmen »

Объясняю. Все ваши клиентские компьютеры, находящиеся в сетях, которые вы соединяете настроены таким образом, что они отправляют сетевые пакеты двумя маршрутами:
1. Если получатель пакета в моей подсети, то я просто выбрасываю пакет в провод, а там будь что будет. Пакет ловят все, кто физически это смог сделать. По идее это только те, кто в подсети отправляющего компьютера. Т.к. у вас маска подсети не охватывает диапазон адресов соседней сети, с которой вы хотите соединиться, то даже если бы вы их соединили физически, компы второй сети пакеты отбрасывали бы.
2. Если пакет предназначен для компьютера любой другой сети - то посылаем пакет через шлюз. Даю 100%, что в обоих сетях присутствуют шлюзы по-умолчанию, через которые идет интернет, которые и слыхом не слыхивали о какой-то соседней сети, что туда надо перебрасывать пакеты... и пр.
Короче, выхода 3:
1. либо прописываешь на каждом компьютере маску побольше, а на linux-машине делаешь бридж
2. либо прописываешь на каждой машине дополнительный маршрут к соседней сети через linux-машину, а на ней делаешь форвардинг
3. либо компьютеры, которые являются шлюзами по-умолчанию в обоих подсетях, вводишь в соседние сети (чтоб они помимо своей локальной сети и интернета были еще и в сети соседа). Для этого настраиваешь еще и маскардинг (SNAT) на них
Спасибо сказали:
little Jon
Сообщения: 212

Re: Ubuntu Iptables 2 сети

Сообщение little Jon »

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 сети

Сообщение pelmen »

Для бриджа разве не нужно маску увеличивать? В противном случае пакеты будет принимать не бридж, а шлюз
Спасибо сказали:
zasadadada
Сообщения: 12

Re: Ubuntu Iptables 2 сети

Сообщение zasadadada »

В Windows 2003 Делал мост из 2х стевых подключений Он их обьеденил и как бы преобразовал 2 подключения в одно В этом подключении нужно было указать новый ипи адрес серверу указал 20.20.20.1 А 2 сети по ту сторону сетевых были 10 и 192 Дак вот что бы Это всё дело заработало вместе нужно было вводить диапозон один и на сервере и на 2 сетях Из за этого вариант мне не очень понравился По крайне мере если я не ошибаюсь я так понял систему моста.

little Jon Поэтому удобней в сети иметь один getway и с него распределять запросы по другим сетям.

Вот это хотелось бы сделать А разве что я пытаюсь сделать обречено на провал ? то что написал выше Где то читал рекомендовали такую систему Мол Iptables перехватывает и преобразовывает одно в другое
Спасибо сказали:
little Jon
Сообщения: 212

Re: Ubuntu Iptables 2 сети

Сообщение little Jon »

pelmen писал(а):
15.01.2010 23:38
Для бриджа разве не нужно маску увеличивать? В противном случае пакеты будет принимать не бридж, а шлюз

Нет это не обязательно. Ethernet пакет в сети идет не адресно от точки до точки, это широковещательная рассылка. Бридж понимает и подхватывает этот пакет проверяет и повторяет его с другого сетевого интерфейса.


Linuxforum@conference.jabber.ru
Спасибо сказали:
little Jon
Сообщения: 212

Re: Ubuntu Iptables 2 сети

Сообщение little Jon »

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 сети

Сообщение zasadadada »

Вопрос решил следующим методом.
На всех машинах указал в моём случаи шлюз на сервер линукса. Так как у меня нету других шлюзов. Далее на серваке прописал route от 1 сетевой к другой На этой машине И сопственно всё. Заработало. ВОт только получаеться что Убунту как будто сделал Домен Через статистику видно сетевую. Ubuntu.local
Буду пробовать сделать тоже самое средствами Iptables вроде как круче :) хотя чёрт знает
Спасибо сказали:
pelmen
Сообщения: 1268
ОС: debian

Re: Ubuntu Iptables 2 сети

Сообщение pelmen »

Покажи, какие команды вводил (route???)
Спасибо сказали:
zasadadada
Сообщения: 12

Re: Ubuntu Iptables 2 сети

Сообщение zasadadada »

а стандарт :) route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.10.10.1 eth1 Вроде бы так если что то и не так то ипи адреса поменять Щас пытаюсь сделать шлюз между 2мя хп машинами главными А к ним ещё обычные подцеплены через шлюз тоже а по центру вмонтировать линукс с iptables Это пробный вариант возможно цепочка незаработает Но покрайне мере попытка будет защитана

Вобщем Вывод Что бы соеденить 2 сети надо Сопственно простыми словами соеденялку которая смотреть в обе сети и достаточно команды роут (укажите откуда куда) Это будет вариант пропускать вообще всё . Если вы хотите что то запретить используйте iptables. Хотя у меня знакомый предпологает что маршрутизацию можно сделать командо iptables Но я в этом не уверен так как Ни чего не получилось.
Спасибо сказали: