Posted: Mon Dec 06, 2010 12:15 Post subject: Туннель между DD-WRT и Vyatta
Всем привет. пытаюсь соединить 2 локальных сети. На одной стороне имею dd-wrt v24-sp2 (10/10/09) micro (Linksys wrt54g2) сеть 192.168.18.0/24 а на другой Vyatta VC6.1-2010.08.20 сеть 192.168.2.0/24. Оба устройства смотрят в мир на внешних айпи. Из протоколов туннелирования на Vyatta - IPIP, GRE, GREBRIDGE. Что использовать? И как?
Joined: 07 May 2010 Posts: 384 Location: Surgut, Western Siberia
Posted: Mon Dec 06, 2010 21:59 Post subject:
Vyatta начиная с 5 версии поддерживает OpenVPN. Лучше идти по этому пути, чем через PPTP/IPSec.
Текущий linksys выбросить и поставить нормальное устройство с 8mb flash минимум.
На vyatta запустить OpenVPN сервер (инструкция в гугле), на dd-wrt клиент, хотя можно наоборот.
Про OpenVPN на dd-wrt читать здесь
Ну рано Вы похоронили устройство. ) Выбор протокола для построения тоннеля зависит исключительно от нужд. Если нужен multicast - подходит только GRE. IPIP - умеет только unicast. Итак начнем:
Замечание: Перед конфигурированием на DD-WRT необходимо отключить SPI Firewall
Заходим: Security -> Firewall Protection -> Устанавливаем в режим Disable
insmod ipip
ip tunnel add tun0 mode ipip remote yyy.yyy.yyy.y local xxx.xxx.xxx.x ttl 255
ifconfig tun0 172.16.0.1 netmask 255.255.255.250
route add -net 192.168.2.0 netmask 255.255.255.0 gw 172.16.0.2 dev tun0
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o tun0 -j TCPMSS --clamp-mss-to-pmtu
Нажимаем Save Startup
Vyatta
Code:
set interfaces tunnel tun0
set interfaces tunnel tun0 address 172.16.0.2/30
set interfaces tunnel tun0 encapsulation ipip
set interfaces tunnel tun0 local-ip yyy.yyy.yyy.y
set interfaces tunnel tun0 remote-ip xxx.xxx.xxx.x
set protocols static route 192.168.18.0/24 next-hop 172.16.0.1
GRE
DD-WRT
Заходим: Administration -> Commands
В строке Command Shell вводим:
Code:
insmod ip_gre
ip tunnel add tun0 mode gre remote yyy.yyy.yyy.y local xxx.xxx.xxx.x ttl 255
ifconfig tun0 172.16.0.1 netmask 255.255.255.250
ip link set tun0 multicast on
route add -net 192.168.2.0 netmask 255.255.255.0 gw 172.16.0.2 dev tun0
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o tun0 -j TCPMSS --clamp-mss-to-pmtu
Нажимаем Save Startup
Vyatta
Code:
set interfaces tunnel tun0
set interfaces tunnel tun0 address 172.16.0.2/30
set interfaces tunnel tun0 encapsulation gre
set interfaces tunnel tun0 multicast enable
set interfaces tunnel tun0 local-ip yyy.yyy.yyy.y
set interfaces tunnel tun0 remote-ip xxx.xxx.xxx.x
set protocols static route 192.168.18.0/24 next-hop 172.16.0.1
Last edited by plastilin on Fri Dec 10, 2010 19:11; edited 1 time in total
Joined: 07 May 2010 Posts: 384 Location: Surgut, Western Siberia
Posted: Fri Dec 10, 2010 18:21 Post subject:
После route add тогда еще добавьте правило в firewall для того чтобы маршрутизатор добавлял параметр MSS в инициализирующие соединения, чтобы пакеты отправителя не превышали размера MTU
iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o tun0 -j TCPMSS --clamp-mss-to-pmtu
Подправил. Хм, а я то думаю зачем оно нужно. Специально на форуме Vyatta в своей теме спросил. Может подскажете как правильно сделать правило со стороны Vyatta, а то мне не совсем нравится способ добавления через sudo -s и rc.local
Joined: 07 May 2010 Posts: 384 Location: Surgut, Western Siberia
Posted: Sat Dec 11, 2010 6:43 Post subject:
Знаю только что зайти лучше не под Root/vyatta, а под Vyatta/vyatta, чтобы появились только команды специфичные для vyatta, а не unix. Ну а дальше вопросами и табуляцией в режиме конфигурации найти нужные команды.