Всем доброго дня! Есть вопрос. Поднят маршрутизатор под Слакварем 10+iptables. На нем один интерфейс смотрит в сетку, второй в НЕТ, а к третьему подключена арендованная линия по которой будет связываться удаленный офис через VPN. Теперь сам вопрос. Необходимо настроить iptables так, что бы компы с ip x.x.x.1-x.x.x.2 имели выход в НЕТ, а остальные нет и вся сеть имела доступ к VPN. Кто подскажет?
Я это вижу так:
iptables -t nat -A POSTROUTING -s x.x.x.1-x.x.x.2 -j SNAT --to-source y.y.y.y.-ip карты смотрящая в НЕТ.
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -j SNAT --to-source z.z.z.z-ip карты, к которой подключена арендованная линия.
з.ы. Чуть не забыл. Удаленный офис не один, а 3! Соответственно 3 VPN тунеля. z.z.z.z указывать реальный ip карты или ip, который я назначаю VPN тунелям?
Буду очень благодарен за конкретные примеры.
iptables
Модераторы: SLEDopit, Модераторы разделов
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Re: iptables
Tokra писал(а): ↑09.01.2006 11:54Всем доброго дня! Есть вопрос. Поднят маршрутизатор под Слакварем 10+iptables. На нем один интерфейс смотрит в сетку, второй в НЕТ, а к третьему подключена арендованная линия по которой будет связываться удаленный офис через VPN. Теперь сам вопрос. Необходимо настроить iptables так, что бы компы с ip x.x.x.1-x.x.x.2 имели выход в НЕТ, а остальные нет и вся сеть имела доступ к VPN. Кто подскажет?
Я это вижу так:
iptables -t nat -A POSTROUTING -s x.x.x.1-x.x.x.2 -j SNAT --to-source y.y.y.y.-ip карты смотрящая в НЕТ.
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -j SNAT --to-source z.z.z.z-ip карты, к которой подключена арендованная линия.
з.ы. Чуть не забыл. Удаленный офис не один, а 3! Соответственно 3 VPN тунеля. z.z.z.z указывать реальный ip карты или ip, который я назначаю VPN тунелям?
Буду очень благодарен за конкретные примеры.
Глубоко не вникал в суть - но по-моему идея верна. На ВПН раздавай принудительные для каждой машинки. А потом SNATом выпускай то, что нужно туда, куда нужно. Можно было бы добавить в правила iptables указание интерфейса -i или -o, чтобы трафик точно ходил куда следует и никуда более не ходил...
Перечитал еще раз: тут нужно немножко иначе:
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -j SNAT --to-source z.z.z.z-ip карты, к которой подключена арендованная линия.
тут нужно добавить назначение (-d) и указать его в первую очередь, чтобы машины ходящие в инет не шли в инет при попытке пойти в другой офис...
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
Tokra
- Сообщения: 399
Re: iptables
Если я правильно понял
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -i ethX-"смотрящий в сетку" -d "удаленная сеть" -j SNAT --out-interface ethZ --to-source z.z.z.z
или
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -d "удаленная сеть" -i ethZ-"смотрящий в арен. линию" -j SNAT --out-interface ethZ --to-source z.z.z.z
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -i ethX-"смотрящий в сетку" -d "удаленная сеть" -j SNAT --out-interface ethZ --to-source z.z.z.z
или
iptables -t nat -A POSTROUTING -s x.x.x.x/24 -d "удаленная сеть" -i ethZ-"смотрящий в арен. линию" -j SNAT --out-interface ethZ --to-source z.z.z.z
-
Tokra
- Сообщения: 399
Re: iptables
В http://www.opennet.ru/base/net/ipsec_opnswan_howto.txt.html автор пишет, что для VPN маскарадинг надо отключать. Это как? В сетке я использую приватные адреса, а арендованная линия имеет публичные.
-
7biohazard7
- Сообщения: 618
- Статус: Любитель SUSE
- ОС: Suse 11.2
Re: iptables
Tokra писал(а): ↑09.01.2006 13:58В http://www.opennet.ru/base/net/ipsec_opnswan_howto.txt.html автор пишет, что для VPN маскарадинг надо отключать. Это как? В сетке я использую приватные адреса, а арендованная линия имеет публичные.
Ну, а VPN для чего делается? как раз для того чтобы соединять
сети с приватными адресами. То есть если у тебя например сеть 192.168.0.0/24
через VPN подключаешься к 192.168.1.0/24. Работа между сетями будет
абсолютно прозрачна через их 192.168. -адреса.
-
shulik
- Сообщения: 256
- ОС: OpenSuse 11 / FreeBSD 7.0
Re: iptables
7biohazard7 писал(а): ↑09.01.2006 15:18Tokra писал(а): ↑09.01.2006 13:58
В http://www.opennet.ru/base/net/ipsec_opnswan_howto.txt.html автор пишет, что для VPN маскарадинг надо отключать. Это как? В сетке я использую приватные адреса, а арендованная линия имеет публичные.
Ну, а VPN для чего делается? как раз для того чтобы соединять
сети с приватными адресами. То есть если у тебя например сеть 192.168.0.0/24
через VPN подключаешься к 192.168.1.0/24. Работа между сетями будет
абсолютно прозрачна через их 192.168. -адреса.
Это если роуты прописать на тачках. А если их не прописывать - то тут НАТ в помощь...
"Так не возможно
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
Не оступиться,
Не избежать высоты.
Остановиться нам еще можно,
Есть еще шаг до черты." © А.Горшенев
-
Tokra
- Сообщения: 399
Re: iptables
Если я правильно понял, то если на обеих концах прописать роуты, то можно НАТ не поднимать? И можно не обращать внимание на то, что на обеех концах у меня публичные адреса, а внутри сеток приватные?
К примеру:
Пишется скрипт следующего содержания и запускается на машине ALPHA:
#!/bin/sh
insmod ip_gre
tnl=tnl0
remote=x.x.x.x
local=y.y.y.y
ip=192.168.1.1
range=192.168.2.0/24
ip tunnel del $tnl
ip tunnel add $tnl mode gre local $local remote $remote ttl 255
ip addr add $ip dev $tnl
ip link set $tnl up
ip route add $range dev $tnl
-----------------------------------------------------------------------
А для машины BETTA пишется другой аналогичный скрипт и запускается:
#!/bin/sh
insmod ip_gre
tnl=tnl0
remote=y.y.y.y
local=x.x.x.x
ip=192.168.2.1
range=192.168.1.0/24
ip tunnel del $tnl
ip tunnel add $tnl mode gre local $local remote $remote ttl 255
ip addr add $ip dev $tnl
ip link set $tnl up
ip route add $range dev $tnl
И все будет работать без проблем, без всяких НАТОВ??
К примеру:
Пишется скрипт следующего содержания и запускается на машине ALPHA:
#!/bin/sh
insmod ip_gre
tnl=tnl0
remote=x.x.x.x
local=y.y.y.y
ip=192.168.1.1
range=192.168.2.0/24
ip tunnel del $tnl
ip tunnel add $tnl mode gre local $local remote $remote ttl 255
ip addr add $ip dev $tnl
ip link set $tnl up
ip route add $range dev $tnl
-----------------------------------------------------------------------
А для машины BETTA пишется другой аналогичный скрипт и запускается:
#!/bin/sh
insmod ip_gre
tnl=tnl0
remote=y.y.y.y
local=x.x.x.x
ip=192.168.2.1
range=192.168.1.0/24
ip tunnel del $tnl
ip tunnel add $tnl mode gre local $local remote $remote ttl 255
ip addr add $ip dev $tnl
ip link set $tnl up
ip route add $range dev $tnl
И все будет работать без проблем, без всяких НАТОВ??
-
7biohazard7
- Сообщения: 618
- Статус: Любитель SUSE
- ОС: Suse 11.2
Re: iptables
Ну да. Технология VPN конкретно для этого и предназначена -
соединение частных сетей с помощью публичных.
И мне честно говоря работа в локальной сети
через NAT кажется извращением. Хотя...
соединение частных сетей с помощью публичных.
И мне честно говоря работа в локальной сети
через NAT кажется извращением. Хотя...