21 Listopada 2024 23:06:11
Nawigacja
· Strona Główna
· Forum

· Tomato by Shibby
· FreshTomato


Wątki na forum
Najnowsze dyskusje
· [S] Asus RT-AC56U
· DIR868l OFW asus vs ...
· Szukam zaproszenia n...
· [MOD] FreshTomato-AR...
· Asus RT-AC5300 ,prob...
· archer c6 v3.20
· [S] Nighthawk R7000P...
· [S]Asus RT-AC5300 - ...
· Tanie N100 na promce...
· net z telefonu wifi+...
· Tomato - bugi/proble...
· HUAWEI z światłowodem
· Asus TUF-AX3000_V2 p...
· rt-ax88upro częste ...
· [Howto] Xpenology na...
· Jaki router pod Open...
· Ruter z tomato
· Czy to jeszcze NAS?
· RT AC66U B1
· Wireguard na FreshTo...
Najpopularniejsze obecnie wątki
· Szukam zaproszeni... [19]
· DIR868l OFW asus ... [8]
· [S] Asus RT-AC56U [0]
Ankieta
Jaki procesor posiada twój router?

Broadcom MIPSEL
Broadcom MIPSEL
36% [151 głosów]

Broadcom ARM
Broadcom ARM
52% [219 głosów]

Atheros
Atheros
5% [22 głosów]

Marvell
Marvell
1% [4 głosów]

Ralink
Ralink
1% [3 głosów]

Intel/AMD/VIA
Intel/AMD/VIA
1% [5 głosów]

Żaden z powyższych
Żaden z powyższych
4% [15 głosów]

Ogółem głosów: 419
Musisz zalogować się, aby móc zagłosować.
Rozpoczęto: 02/02/2015 09:38
Twoje IP
18.117.75.53
Zobacz wątek
OpenLinksys » :: PORTAL :: » Tutoriale
 Drukuj wątek
IPsec na Tomato - Site-to-Site IKE PSK do Drayteka
shibby
UWAGA!!!

1) Tutorial został napisany w oparciu o router RT-N18u z Tomato AIO. Wersja NOSMP wymaga innej paczki arm-extras niż ta standardowo publikowana (opublikuję wraz z nowym Tomato). Do pozostałych routerów normalnie używamy wskazanej paczki.

2) Opis prezentowany jest na routerze ARM. Możliwe, ze dla Mipsela opis będzie się delikatnie różnił (np. nazwami użytych modułów). Zatem proszę nie traktować opisu jako coś na zasadzie kopiuj-wklej tylko z uwagą czytać i ewentualnie dostosowywać konfigurację do swoich potrzeb

3) IPsec zadziała tylko na obrazach AIO, ponieważ tylko ten obraz zawiera wymagane moduły wkompilowane w obraz.

4) Tomato-ARM7 nie jest zgodne z IPsec!! A dokładniej mówiąc moduł Tuxera NTFS nie jest zgodny z modułami IPsec.


Zadanie

Wszystko zaczęło się od nowego zlecenia instalacji sieci Wi-Fi w nowo budowanym domku jednorodzinnym. Inwestor nakazał wydzielenie osobnej sieci Wi-Fi, z której to będzie miał dostęp do swojej firmy poprzez VPN. Kontakt z administratorem inwestora wykazał, że w firmie stoi Draytek Vigor 2925 ze skonfigurowanym tunelem IPsec. Z racji tego, że Asus RT-N18u został wytypowany i zakupiony zanim pomysł z tunelem do firmy został nam przedstawiony stanąłem przed problemem konfiguracji IPsec`a na Tomato.


Założenia

Na potrzeby niniejszego tutoriala przyjmijmy następujące dane:
- adres publiczny Drayteka - 177.77.77.77
- sieć lokalna za Draytekiem - 192.168.99.0/24
- adres publiczny Tomato - 188.88.88.88
- sieć lokalna za Tomato - 10.2.2.0/24
- klucz PSK: abcdefghijk123

Jedyne dane jakie otrzymałem od administratora Drayteka to połowiczny wycinek z konfiguracją IPseca po jego stronie:

update.groov.pl/arm/draytek.png



Widzimy na nim, że PFS jest wyłączony, podobnie zresztą jak Aggresive Mode.


Konfiguracja

Ze wszystkich testowanych przeze mnie paczek najlepiej sprawdziła się paczka strongswan z entware-ng. Zatem gorąco polecam instalację entware-ng na samym początku (odpowiedni skrypt został dodany do Tomato v138).

Instalujemy wymagane paczki:

Cytat

opkg install strongswan
opkg install strongswan-charon
opkg install strongswan-mod-addrblock
opkg install strongswan-mod-af-alg
opkg install strongswan-mod-agent
opkg install strongswan-mod-attr
opkg install strongswan-mod-attr-sql
opkg install strongswan-mod-blowfish
opkg install strongswan-mod-ccm
opkg install strongswan-mod-cmac
opkg install strongswan-mod-constraints
opkg install strongswan-mod-coupling
opkg install strongswan-mod-ctr
opkg install strongswan-mod-curl
opkg install strongswan-mod-des
opkg install strongswan-mod-dhcp
opkg install strongswan-mod-dnskey
opkg install strongswan-mod-duplicheck
opkg install strongswan-mod-eap-identity
opkg install strongswan-mod-eap-md5
opkg install strongswan-mod-eap-mschapv2
opkg install strongswan-mod-farp
opkg install strongswan-mod-fips-prf
opkg install strongswan-mod-gcm
opkg install strongswan-mod-gcrypt
opkg install strongswan-mod-ha
opkg install strongswan-mod-kernel-libipsec
opkg install strongswan-mod-kernel-netlink
opkg install strongswan-mod-ldap
opkg install strongswan-mod-led
opkg install strongswan-mod-md4
opkg install strongswan-mod-md5
opkg install strongswan-mod-nonce
opkg install strongswan-mod-openssl
opkg install strongswan-mod-pem
opkg install strongswan-mod-pgp
opkg install strongswan-mod-pkcs1
opkg install strongswan-mod-pkcs11
opkg install strongswan-mod-pkcs8
opkg install strongswan-mod-resolve
opkg install strongswan-mod-revocation
opkg install strongswan-mod-sha1
opkg install strongswan-mod-sha2
opkg install strongswan-mod-smp
opkg install strongswan-mod-socket-dynamic
opkg install strongswan-mod-stroke
opkg install strongswan-mod-test-vectors
opkg install strongswan-mod-unity
opkg install strongswan-mod-whitelist
opkg install strongswan-mod-xauth-eap
opkg install strongswan-mod-xauth-generic
opkg install strongswan-utils


Następnie modyfikujemy plik /opt/etc/ipsec.conf.:

Cytat

# ipsec.conf - strongSwan IPsec configuration file

# basic configuration

config setup

conn net2net
auto=start
authby=secret
type=tunnel
ikelifetime=480m
keylife=60m
forceencaps=yes
keyexchange=ikev1
ike=3des-sha1-modp1024
esp=3des-sha1-modp1024
left=188.88.88.88
leftsubnet=10.2.2.1/24
right=177.77.77.77
rightsubnet=192.168.99.1/24
dpddelay=10
dpdtimeout=30
dpdaction=restart



z ważnych kwestii:
- lewa (left) strona to strona nasza (Tomato). Tu wpisujemy nasz adres publiczny i naszą lokalną podsieć
- prawa (right) strona to strona zdalna (Draytek). Tu wpisujemy adres publiczny zdalnego routera i podsieć lokalną za nim
- opcje szyfrowania (keyexchange, ike, esp) musimy dostosować zgodnie z tym co mamy po drugiej stronie.
- auto = start oznacza, żę tunel po odpaleniu ma się automatycznie zestawić.
- authby = psk oznacza, ze do uwierzytelnienia używamy klucza współdzielonego (Pre-Shared Key)


W pliku /opt/etc/ipsec.secret ustawiany nasz klucz PSK (pamiętajmy o ustawieniu w tym miejscu swojego klucza!!):

Cytat

# /etc/ipsec.secrets - strongSwan IPsec secrets file

%any : PSK abcdefghijk123


Plik /opt/etc/strongswan.conf możemy w sumie pozostawić bez większych zmian. Modyfikacji wymaga jedynie jedna linia. Zmieniamy:

Cytat

z
load_modular = yes
na
# load_modular = yes



Do skryptu firewall (Administration -> Scripts -> Firewall) dopisujemy:

Cytat

iptables -I INPUT -i vlan2 -p esp -j ACCEPT
iptables -I INPUT -i vlan2 -p 50 -j ACCEPT
iptables -I INPUT -i vlan2 -p 51 -j ACCEPT
iptables -I INPUT -i vlan2 -p udp --dport 500 -j ACCEPT
iptables -I INPUT -i vlan2 -p udp --dport 4500 -j ACCEPT
iptables -I FORWARD -i vlan2 -s 192.168.99.0/24 -d 10.2.2.0/24 -m policy --dir in --pol ipsec -j ACCEPT
iptables -I FORWARD -o vlan2 -s 10.2.2.0/24 -d 192.168.99.0/24 -m policy --dir in --pol ipsec -j ACCEPT
iptables -t nat -I POSTROUTING -s 10.2.2.0/24 -o vlan2 -m policy --dir out --pol ipsec --proto esp -j ACCEPT
iptables -t nat -I PREROUTING -s 192.168.99.0/24 -i vlan2 -m policy --dir in --pol ipsec --proto esp -j ACCEPT


gdzie "vlan2" to nasz interfejs WAN. Jeżeli mamy połączenie PPP to interfejs będzie "ppp0". Dla modemów LTE może być to "eth3" lub "usb0" lub "wwan0". Należy wiec poprawić konfigurację pod siecie. Pamiętajmy również o ustawieniu poprawnych puli adresów IP.

Teraz pora na moduły. Ściągamy paczkę extras dla swojego routera i wersji Tomato, rozpakowujemy a następnie kopiujemy z niej cały katalog ipsec. Resztę można usunąć. W moim przypadku wyglądać to będzie następująco:

Cytat

mkdir /tmp/extras
mkdir /opt/modules
cd /tmp/extras
wget http://tomato.groov.pl/download/K26ARM/138-MultiWAN/arm-extras.tar.gz
tar -zxvf arm-extras.tar.gz
cp -r ipsec /opt/modules/
cd ..
rm -rf extras


Dzięki temu wszystkie potrzebne nam moduły znajdą się w katalogu /opt/modules/ipsec

w tym też katalogu tworzymy plik addModules z zawartością:

Cytat

#!/bin/sh

cd /opt/modules/ipsec

insmod xt_policy
insmod ah4
insmod af_key
insmod esp4
insmod des_generic
insmod sha256_generic
insmod sha512_generic
insmod xfrm_user
insmod xfrm4_mode_beet
insmod xfrm4_mode_transport
insmod xfrm4_mode_tunnel
insmod xfrm_ipcomp
insmod ipcomp
modprobe tun
modprobe tunnel4
insmod xfrm4_tunnel

service firewall restart


Nie zapomnijmy o nadaniu uprawnień do uruchomienia (eXecute):

Cytat

chmod +x /opt/modules/ipsec/addModules


Można testowo uruchomić powyższy skrypt by mieć pewność, że wszystkie moduły załadowały się poprawnie. Ewentualne komunikaty w stylu:

Cytat

insmod: can't insert '/lib/modules/2.6.36.4brcmarm/kernel/net/netfilter/xt_policy.ko': File exists


mówią tyle, że moduł był już wczytany wcześniej. Nie należy traktować tego jako błąd ładowania modułu a jedynie jako informację.

To tyle jeżeli chodzi o konfigurację. Możemy spróbować zestawić tunel wydając komendę:

Cytat

/opt/etc/init.d/S90strongswan start


Jeżeli wszystko przebiegło pomyślnie tunel powinien zostać ustanowiony o czym dowiemy się wydając komendę:

Cytat

root@unknown:/tmp/home/root# ipsec statusall
Status of IKE charon daemon (strongSwan 5.5.0, Linux 2.6.36.4brcmarm, armv7l):
uptime: 63 minutes, since Nov 20 10:38:32 2016
malloc: sbrk 540672, mmap 0, used 229736, free 310936
worker threads: 6 of 16 idle, 6/0/4/0 working, job queue: 0/0/0/0, scheduled: 7
loaded plugins: charon test-vectors ldap pkcs11 des blowfish sha2 sha1 md4 md5 nonce revocation constraints pkcs1 pkcs8 pgp dnskey pem openssl gcrypt fips-prf agent cmac ctr ccm gcm curl attr kernel-libipsec kernel-netlink resolve socket-dynamic farp stroke smp eap-identity eap-md5 eap-mschapv2 xauth-generic xauth-eap dhcp whitelist led duplicheck addrblock unity
Listening IP addresses:
188.88.88.88
Connections:
net2net: 188.88.88.88....177.77.77.77 IKEv1, dpddelay=10s
net2net: local: [188.88.88.88] uses pre-shared key authentication
net2net: remote: [177.77.77.77] uses pre-shared key authentication
net2net: child: 10.2.2.0/24 === 192.168.99.0/24 TUNNEL, dpdaction=restart
Security Associations (1 up, 0 connecting):
net2net[1]: ESTABLISHED 63 minutes ago, 188.88.88.88[188.88.88.88]...177.77.77.77[177.77.77.77]
net2net[1]: IKEv1 SPIs: 3dd2f5a3deb07220_i* 783b1c1b4160abd1_r, pre-shared key reauthentication in 6 hours
net2net[1]: IKE proposal: 3DES_CBC/HMAC_SHA1_96/PRF_HMAC_SHA1/MODP_1024
net2net{2}: INSTALLED, TUNNEL, reqid 1, ESP in UDP SPIs: 03e7bdf5_i 6964e337_o
net2net{2}: 3DES_CBC/HMAC_SHA1_96/MODP_1024, 5341 bytes_i (43 pkts, 37s ago), 0 bytes_o, rekeying in 30 minutes
net2net{2}: 10.2.2.0/24 === 192.168.99.0/24
root@unknown:/tmp/home/root#


Próba pingu (chwila prawdy):

Cytat

root@unknown:/tmp/home/root# ping 192.168.99.4
PING 192.168.99.4 (192.168.99.4): 56 data bytes
64 bytes from 192.168.99.4: seq=0 ttl=127 time=22.420 ms
64 bytes from 192.168.99.4: seq=1 ttl=127 time=23.328 ms
64 bytes from 192.168.99.4: seq=2 ttl=127 time=23.555 ms
^C
--- 192.168.99.4 ping statistics ---
3 packets transmitted, 3 packets received, 0% packet loss
round-trip min/avg/max = 22.420/23.101/23.555 ms

root@unknown:/tmp/home/root#


Gdy mamy pewność, że tunel działa a w logach nie mamy żadnych błędów możemy dodać strongswana do autostartu. W tym celu do skryptu INIT dopisujemy (zaraz po komendach montujących dysk pod /opt):

Cytat

/opt/modules/ipsec/addModules
/opt/etc/init.d/S90strongswan start


Po zapisaniu zmian możemy wykonać próbny restart routera. IPSec powinien zostać automatycznie zestawiony a my możemy pogratulować sobie dobrze wykonanej roboty.


Optymalizacja

IPSec dość mocno sieje w logach. Wypadało by więc go delikatnie "uciszyć". w tym celu należy zmodyfikować plik /opt/etc/strongswan.conf:

Cytat

# strongswan.conf - strongSwan configuration file
#
# Refer to the strongswan.conf(5) manpage for details
#
# Configuration changes should be made in the included files

charon {
interfaces_use = vlan2
# load_modular = yes
plugins {
include strongswan.d/charon/*.conf
}
syslog {
identifier = charon
# daemon logging disabled by default (-1)
# increase to generate logs for troubleshooting
daemon {
default = -1
}
# auth logging disabled by default (-1)
# increase to generate logs for troubleshooting
auth {
default = -1
}
}

}

libstrongswan {

# set to no, the DH exponent size is optimized
dh_exponent_ansi_x9_42 = no
}

#include strongswan.d/*.conf


Warto też zaznaczyć, że dodałem dyrektywę "interfaces_use" i wpisałem tu swój interfejs WAN. Dzięki czemu Strongswan "słucha" jedynie na wskazanym interfejsie.

Do "crona" można również dopisać mały skrypt pingujący cyklicznie jakiegoś hosta po drugiej stronie i w razie braku pingu wykona restart strongswana.


Podsumowanie

To było moje pierwsze spotkanie z IPSec`iem. Przedstawiony wyżej opis jest zbiorem nauk i porażek poczynionych przez kilkanaście godzin. Mam nadzieję, że dzięki temu tutorialowi ktoś, kto może w przyszłości sam stanie przed podobnym problemem jak ja zaoszczędzi sobie kilka godzin nerwów Smile

Pozdrawiam
Edytowany przez shibby dnia 21-11-2016 08:48
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
qrs
grzechem byłoby nie skorzystać z tutka, zwłaszcza że się napracowałeś Wink
---
Netgear R7000Netgear WNR3500L v2MikroTik hAP ac^2TP-LINK M7650
 
mosao
ile wyciśniesz IPseca z RT-N18u? Robiłeś testy?
TL-WDR4300 @OpenWrt Barrier Breaker
 
shibby
nie roibłem testów, gdyż w tej konkretnej sytuacji sieć zdalna nie jest moja. Nie mam do niej dostępu. Mogę ją tylko pingować. Docelowo do serwera będzie się już inwestor logował już na swoje poświadczenia.
Proxmox VE: i5-13400T, 64GB RAM, 2x 512GB NVMe, 3x 2TB SSD, Intel X710-DA2 SFP+
VM Router: OpenWRT 22.03.4
VM NAS: Synology SA6400
VM VPS: Debian, WWW, Home Assistant
Switch: Netgear MS510TXPP
Switch: Ubiquiti USW-Flex-mini - szt. 2
Wi-Fi: Ubiquiti U6-Lite - szt. 2
 
jer
Cześć!
Dzięki Shibby za opis!!! Akurat też musiałem podpiąć się tunelem ipsecowym z Tomato na Dryteka który musi działać i nie można go wy...

Z racji tego, że nie mogłem się doczekać na publikację nowego Tomato z paczkami arm-extras dla obrazu NOSMP (dotyczy obrazu dla routera ASUS RT-N18u) zrobiłem swoje tunele na Tomato by Shibby 1.37 z obrazem nie-NOSMP i poszło. Zastosowałem tylko skrypt entware-install.sh z wersji 1.38 ze zmienioną architekturą z armv7 na armv5 i paczki arm-extras z wersji 1.38.

Moja walka głównie skupiła się na dobraniu prawidłowych modułów ponieważ podczas prób ładowania modułów dość długo nie mogłem poradzić sobie z błędami insmod: can't insert '..': invalid module format - jak poczytałem niezgodność jądra z modułami.

Dzięki opisowi regułek iptablesowych, które Shibby umieścił powyżej działa mi strongswan w wersji 5.5.1 - czyli w najnowszej. Tunel wstaje (polecenie ipsec statusall zwraca informację 1 up), pingi z Tomato (z hostów z sieci za Tomato) do DryTek idą - jest OK. Ale na razie nie idą mi pingi z sieci za Drytekiem, ani też z hostów za Drytekiem. Myślę, że na Tomato brakuje wpisów do iptablesów wpuszczających ruch z Dryteka. Dziś nad tym jeszcze posiedzę, ale gdyby ktoś pomógł to będę wdzięczny.

Jest super, bo już myślałem, że IPsec na Tomato to temat niewykonalny.


PS dla zainteresowanych to w pliku ipsec.conf nie zapomnijcie o TABulacjach przed parametrami poszczególnych tuneli - tylko linijka conn net2net bez tabulacji resztę proszę poprzedzić tabulacją.
 
Staszek
@ jer, mam fritza i tomato po drugiej stronie. Serwer będzie na na fritzu, muszę miec tunel IPSec. Czy ten tutek wystarczy. Na Fritz anie ma wejścia po ssh
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
jer
Cześć Staszek!
Spoko ja też nie mam SSH na Dryteku. Może opisze dokładniej mój przypadek.

Sieć centrali firmy ma DSL ze stałym adresem IP; router Drytek Vigor 2910; adresacja sieci LAN 10.30.0.0/24; dostęp do GUI przez www, dostęp do SSH w zasadzie niepotrzebny bo w GUI Dryteka można IPSEC skonfigurować.

Sieć oddziału firmy też ma DSL ze stałym adresem IP; router ASUS RT-N18u z TOMATO by Shibby 1.37; adresacja sieci LAN 192.168.30.0/24; pełny dostęp; dostęp po SSH niezbędny ponieważ w GUI TOMATO nie ma nic z IPSEC'a.

Więc na fritzu poszukaj w GUI opcji IPSECowych - nie wiem, nie znam się na fritzach. Jeżeli Twój fritz obsługuje IPSECa to może analogicznie do Dryteka znajdziesz wszystko co niezbędne w GUI przez www.

Jeśli chodzi o TOMATO to chętnie pomogę. Mam różne routery i chętnie poćwiczę IPSECa.
 
Staszek
Super, jak już się do tego zabiorę, będę pytał.
U mnie siedzi Asus AC56U z TOMATO by Shibby 138. Po stronie rodziców jest fritz 7490, gdzie juz jest tunel postawiony i mam dane do konfiguracji. Nie ogarniam części komend. Z linuxem się trochę poznałem ale z komendami muszę poćwiczyć.
Co muszę zrobić.
1. Czy zacząć od pobrania paczek przez ssh na tomato? Jak już to zrobię, to nie chce przerywać, bo nigdy nie skończę...

Połączony z 10 marzec 2017 09:11:49:
Po połączeniu tunelem dwóch roterów (Asus i Fritz) chciałbym aby adresacja lokalna pomiędzy dwoma routerami była z jednej puli
Edytowany przez Staszek dnia 10-03-2017 09:11
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
majkel152
powinniście osiągać ok 50-70Mbps bo ipsec wykorzystuje multicore/smt , paradoksalnie ipsec z l2tp jest banalny tylko trzeba pogłówkować z modułami, tam w tutku shibby ładował moduły do wszystkich rodzai szyfrowania co jest niepotrzebne jeśli wiesz jaki masz po drugiej stronie Smile . mikrotik ma jedno pudełeczko co robi 450Mbps ipsec za ok 200zł a w nim procek mediatek ze sprzętowym aes 128bit
nie znam się na tym ^^

kupię coś fajnego
sieć domowa:
router z pfsense https://i.imgur.com/IuB6Zwy.png, jakieś dziwne urządzenia , ups, światłowody, apeki i działa miło Smile
 
Staszek
mikrotik leży u mnie w pudełku, bo za wysokie progi na moje nogi. Chyba że ipcec jest łatwo ustawić. Mikrotik chodził wyłącznie u mnie z HiLinkiem i do tego służył

Połączony z 10 marzec 2017 10:34:00:
A swoją drogą byłbym za tym aby ipsec był w Tomato. Może się kiedyś doczekamy. Skoro Cisco na tym jedzie...
Edytowany przez Staszek dnia 10-03-2017 10:34
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
jer
@ Staszek
A czemu chcesz mieć po dwóch stronach tą samą adresację sieci lokalnych? Pytam, bo to trochę komplikuje sprawy.

Rozumiem, że na fritzu nie wchodzi w grę ustawianie OpenVPN'a bo go we fritzu nie ma? Pytam, bo Shibby zrobił tutorial "VPN pod multiroom N", który świetnie działa i zapewnia m.in. tą samą adresacji połączonych (tunelem OpenVPNowym) sieci lokalnych.

Staszek: czy podłączyłeś już do swojego sprzętu z Tomato jakiś zasób, który mógłbyś podmontować pod katalog /opt? Jest to ważne, po pierwsze trzeba zainstalować entware, a po drugie skopiować do tego podmontowanego zasobu paczki z extras. Nie chcę Ci pisać o podstawach jeśli je już znasz, a jeżeli nie to chętnie krok po kroku opiszę.
 
Staszek
Czytałem temat "VPN pod multiroom N". Tak jak piszesz na Fritzu nie można OpenVPN-a postawić. Dzwoniłem do nich i to polityka firmy-wybrali ipsec.
Odnośnie Tomato, to mam go przy sobie fritz jest po drugiej stronie kraju..
Mam pod Tamoto podpięte pendriva. Komend się uczę i coraz bardziej cenię, jak coś z palca można zrobić. Kolega pracujący na linux zawsze mi to powtarzał... ucz sięWink
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
majkel152
ipsec na mietku to jest "piętnaście kliknięć "
nie znam się na tym ^^

kupię coś fajnego
sieć domowa:
router z pfsense https://i.imgur.com/IuB6Zwy.png, jakieś dziwne urządzenia , ups, światłowody, apeki i działa miło Smile
 
jer
@ Staszek ja to robiłem pod 1.37, tak jak pisałem wykorzystałem tylko skrypt do instalacji entware z 1.38

OK. IPSEC to klasyka, także wybrali i tak całkiem niezłą politykę. Czy masz pod ręką takie narzędzia jak putty do łączenia się po SSH i WinSCP by wygodnie i bezpiecznie wgrywać coś na router. Jeżeli nie to wygoogluj i ściągnij z sieci.

Putty
http://www.chiark.greenend.org.uk/~sg...atest.html

WinSCP
https://winscp.net/eng/download.php

Zaloguj się do routera z Tomato poprzez puttego, podając w polu hostname adres IP Twojego routera i connection type SSH. Jak router zapyta o nazwę użytkownika podaj: root hasło: twoje_hasło_do_gui.

Czy masz już jakieś dane na pendrivie? Jeżeli tak wcześniej skopiuj je w bezpieczne miejsce bo chcę Cię namówić na założenie partycji na pendrivie.

ls -la /dev/sd?

lub

ls -la /dev/sd*

Powinna wyświetlić się lista urządzeń blokowych. U mnie jest to:

brw-rw-rw-    1 root     root        8,   0 Jan  1  1970 /dev/sda

Teraz program do partycjonowania:

fdisk /dev/sda

Wejdziesz do programu fdisk i tu kilka klawiszy
m - pomoc, manual
p - wyświetlenie obecnej tablicy partycji
d - usunięcie partycji
n - nowa partycja
q - wyjście bez zapisu
t - zmiany typu partycji (domyślnie zakładana jest 83 czyli linux - daje się potem sformatować dowolnym typem: ext3 lub ext4)
w - wyjście z zapisaniem zmian

Ja na Twoim miejscu założyłbym partycję na ok. 200MB tylko na opt (u mnie polecenie

du /opt -hs
pokazuje, że wszystko co mam w opt po zainstalowaniu entware i innych rzeczy (mc, htop, bash, strongswan=ipsec, vitetris) zajmuje 26,9MB.

Czyli w fdisku "d" pousuwaj partycje na pendrivie. "n" nowa, "p" aby była primary, 1, 2, 3 lub 4 numer partycji, ENTER - potwierdź wybór pierwszego dostępnego sektora dla partycji i następnie "+200M" aby nie liczyć sektorów tylko podać, że interesuje Cię aby partycja miała 200MB. Załóż kolejne partycje wg Twojego uznania. Ja zakładam jeszcze partycję, którą później używam do przechowywania statystyk, logów i moich konfigów na ok. 1GB. Trzecią partycję zakładam, jako miejsce, które później udostępniam poprzez SAMBĘ lub FTP.

Jak skończysz naciśnij "w" aby zapisać zmiany i wyjść z fdisk'a. Tu konieczny będzie restart routera, bo z reguły po zmianach w partycjach kernel korzysta ze starego układu.

W GUI Tomato wyłącz w opcję "Automatically mount all partitions to sub-directories in /mnt." - znajduje się w: USB Support. Jeżeli coś się już tam podmontowało po restarcie, to z użyciem przycisku "UNMOUNT" odmontuj wszystko w GUI lub poprzez polecenie, podaję przykład:


umount /opt
umount /mnt/router
umount /mnt/karta


Jeżeli masz już te partycje to teraz formatowanie - a właściwie przygotowanie systemów plików:


mkfs.ext3 -L opt /dev/sda1
mkfs.ext3 -L router /dev/sda2
mkfs.ext3 -L karta /dev/sda3

Dla sprawdzenia:

Ja formatuję ext3 - są głosy, że ten system plików zabija w szybkim czasie pendrivy - potwierdzam, dlatego używam dobrych kart ADATA (PremierPro)w czytniku ADATA. Jeżeli byś się zastanawiał nad innym systemem plików np: ntfs, fat to odpuść i tak tego pendriva nie będziesz wyciągał z routera i wpinał do kompa, bo router będzie z niego korzystał non-stop.

Jeżeli później chciałbyś zmienić etykietę dla którejś z partycji to:

e2label -L nowa_etykieta /dev/sda3


Teraz montowanie, skoro wyłączyliśmy automatyczne montowanie, trzeba zadbać, aby partycje montowały się po restarcie routera. W GUI Tomato w menu SCRIPTS w FIREWALL najlepiej dodać:


mkdir /mnt/router
mkdir /mnt/karta
mount LABEL=router /mnt/router -o rw,nodev,noatime,errors=continue,barrier=0,data=ordered
mount LABEL=opt /opt -o rw,nodev,noatime,errors=continue,barrier=0,data=ordered
mount LABEL=dysk /mnt/karta -o rw,nodev,noatime,errors=continue,barrier=0,data=ordered


Poprzez SSH możesz przeklepać te komendy lub po prostu zrestartować firewall'a

 service firewall restart


Oczywiście namawiam Cię do używania klawisza TAB do kończenia poleceń lub ścieżek w SSH.
Dla sprawdzenie:

powinieneś zobaczyć podmontowane swoje świeżutkie partycje.

Teraz instalacja entware - cały czas pozostajesz w SSH
Skrypt jest dostępny w lokalizacji /usr/sbin/entware-install.sh

Tak jak pisałem w oryginalnym skrypcie zmieniłem wartość zmiennej CURARCH z "armv7" na "armv5". Oryginalny plik nie uda Ci się zapisać po edycji - jest na systemie plików tylko do odczytu.
Jeżeli nie jest to nazbyt oczywiste opiszę co możesz zrobić:

cp /usr/sbin/entware-install.sh /opt
- kopiujesz plik do lokalizacji gdzie możesz go zapisać po edycji, następnie:

nano /opt/entware-install.sh

Ja wolę mcedit - jest częścią midnight commander'a - polecenie mc, no ale edytor nano jest dostępny zanim zainstalujemy entware

Jego zawartość:


#!/bin/sh

echo "Info: Checking for prerequisites and creating folders..."

if [ -d /opt ]
then
    echo "Warning: Folder /opt exists!"
else
    mkdir /opt
fi
for folder in bin etc/init.d lib/opkg sbin share tmp usr var/log var/lock var/run
do
  if [ -d "/opt/$folder" ]
  then
    echo "Warning: Folder /opt/$folder exists!"
    echo "Warning: If something goes wrong please clean /opt folder and try again."
  else
    mkdir -p /opt/$folder
  fi
done

echo "Info: Opkg package manager deployment..."
CURARCH="armv5"
DLOADER="ld-linux.so.3"
URL=http://pkg.entware.net/binaries/$CURARCH/installer
wget $URL/opkg -O /opt/bin/opkg
chmod +x /opt/bin/opkg
wget $URL/opkg.conf -O /opt/etc/opkg.conf
wget $URL/ld-2.23.so -O /opt/lib/ld-2.23.so
wget $URL/libc-2.23.so -O/opt/lib/libc-2.23.so
wget $URL/libgcc_s.so.1.2.23 -O /opt/lib/libgcc_s.so.1
cd /opt/lib
chmod +x ld-2.23.so
ln -s ld-2.23.so $DLOADER
ln -s libc-2.23.so libc.so.6

echo "Info: Basic packages installation..."
/opt/bin/opkg update
/opt/bin/opkg install entware-opt
if [ ! -f /opt/usr/lib/locale/locale-archive ]
then
        wget http://pkg.entware.net/binaries/other/locale-archive.2.23 -O /opt/usr/lib/locale/locale-archive
fi

echo "Info: Congratulations!"
echo "Info: If there are no errors above then Entware-ng was successfully initialized."
echo "Info: Add /opt/bin & /opt/sbin to your PATH variable"
echo "Info: Add '/opt/etc/init.d/rc.unslung start' to startup script for Entware-ng services to start"
echo "Info: Found a Bug? Please report at https://github.com/Entware-ng/Entware-ng/issues"


Jeżeli masz już zainstalowane entware możesz zacząć instalować paczki:

opkg install mc bash htop

oraz te wskazane przez Shibbiego.


opkg list-installed

powinno wyświetlić listę zainstalowanych pakietów.

Teraz ściągnięcie paczek z extras
Ja pobrałem na router wszystko zgodnie z powyższą instrukcją Shibbiego. Zrób pozostałe rzeczy zgodnie z instrukcją Shibbiego i daj znać.

Powodzenia.
 
Staszek
po zrobieniu partycji na usb i wpisaniu skryptu i po reboot routera mam w tomato tak:

Partition 'opt' ext2 (189.88 MB / 184.35 MB free) is mounted on /opt
Partition 'router' ext2 (949.64 MB / 932.43 MB free) is mounted on /tmp/mnt/router
Partition 'karta' ext3 (13.34 GB) is not mounted

Nie wiem, dlaczego ta trzecia partycja jest no mount

w ssh także widać tylko dwie partycje:

/dev/sdb2 on /tmp/mnt/router type ext2 (rw,nodev,noatime,barrier=0,data=ordered)
/dev/sdb1 on /opt type ext2 (rw,nodev,noatime,barrier=0,data=ordered)


Na mój rozum, coś w SCRIPTS w FIREWALL w tomato źle wpisane. Skopiowałem jak napisałeś

Zmieniłem w scrypcie ostatni wpis (ostatnia linijka); w miejsce słowa "dysk" dałem "karta"
Edytowany przez Staszek dnia 10-03-2017 22:58
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
jer
Tak, oczywiście powinno być: mount LABEL=karta /mnt/karta, przepraszam - mój błąd
 
Staszek
Nie wiem czy coś muszę edytować w pliku otwartym w none po komendzie?

nano /opt/entware-install.sh

po otwarciu tego pliku, zamknąłem none z zapisaniem ^O

Zatrzymałem się na komendach:

opkg install mc bash htop

i wychodzi w ssh "not fount"
Nie wiem co robię nie tak

Połączony z 11 marzec 2017 13:44:34:
Pytanie: ta komendą kopiuje ale gdzie

cp /usr/sbin/entware-install.sh /opt

Czy ta komenda jest kompletna, czy coć dopisać?

Na ftp w w momencie otwarcia pliku w none w katalogu opt mam plik "entware-install.sh"

Połączony z 11 marzec 2017 14:25:19:
po komendzie

opkg install mc bash htop

mam tak:

root@unknown:/tmp/home/root# opkg list-installed
-sh: opkg: not found


Połączony z 11 marzec 2017 15:28:30:
Już sobie poradziłem: jestem na etapie modyfikacji:

Następnie modyfikujemy plik /opt/etc/ipsec.conf.:

i tu mam pytanie-czy wszystkie inne linie skasować i pozostawić dane z tutka, oczywiście z danymi ip zewn i wewn routerów?
edycje robię w mc

Połączony z 11 marzec 2017 23:24:50:
W temacie multiroom N z OpenVPN poradnik mówi:

Ponieważ dekodery muszą być w tej samej podsieci, nasz tunel openvpn musi być przeźroczysty

Czi w IPSec można zrobić tunel przezroczysty? aby pokierować się wskazówkami cytowanego tematu?
I jeszcze jedno:dla przykładu założyłem takie układ ip. Czy dobrze myślę?

[b]Lokalizacja I (dek. "matka")[/b]
router IP LAN :192.168.178.1/24
dekoder:192.168.178.10/24
dekoder maska: 255.255.255.0
dekoder brama: 192.168.178.1

[b]Lokazlizacja II (dek. "biały")[/b]
router IP LAN: 10.1.1.1/24
dekoder IP :192.168.178.20/24


Połączony z 12 marzec 2017 01:52:54:
Chcąc skonfigurować /etc/ipsec.conf dla FritzBoxa i Tomato, znalazłem taki instrukcję:
https://www.mundhenk.org/blog/fritzbo...penwrt-vpn
sama przykładowa edycja pliku:

# ipsec.conf - strongSwan IPsec configuration file
version 2

config setup
    charondebug="dmn 0, mgr 0, ike 0, chd 0, job 0, cfg 0, knl 0, net 0, asn 0, enc 0, lib 0, esp 0, tls 0, tnc 0, imc 0, imv 0, pts 0"

conn %default
    keyingtries=%forever
conn STS
    aggressive=yes
    left=left.domain.com
    leftsubnet=192.168.2.0/24
    leftfirewall=yes
    lefthostaccess=yes
    right=right.domain.com
    rightsubnet=192.168.1.0/24
    rightallowany=yes
    leftid="@left.domain.com"
    rightid="@right.domain.com"
    ike=aes256-sha1-modp1024
    esp=aes256-sha1-modp1024
    keyexchange=ikev1
    ikelifetime=1h
    margintime=9m
    rekey=yes
    reauth=yes
    keylife=8h
    compress=yes
    dpddelay=30
    dpdtimeout=60
    dpdaction=restart
    authby=secret
    auto=start


Połączony z 12 marzec 2017 02:27:23:
Utknąłem na etapie: ściągnąłe wszystkie paczki i próbie edycji pliku ipsec.conf.
Z poradnika Fritza różni się. Trzeba podumać ... W tym linku powyżej jest cały komplet informacji, jak i co edytować. Ale już nie mam dziś sił ... Może komuś coś przyjdzie do głowy.

Połączony z 12 marzec 2017 02:32:51:
Może po Drayteku, uda się skonfigurować Fritz > Tomato? :)

Połączony z 12 marzec 2017 10:31:00:
Na powyższym blogu został umieszczony plik konfiguracyjny dla przypadku, gdyby nie było dostępu do GUI w Fritz Box.

Połączony z 12 marzec 2017 13:39:53:
Zastanawiam siię, czy wszystkie linie w edycji pliku powinny być zachowane...

Połączony z 13 marzec 2017 23:30:18:
@Jer, masz jakieś przemyślenia?
Edytowany przez Staszek dnia 13-03-2017 23:30
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
jer
@ Staszek
Cześć! To co udało się wykonać?
Czy komendy opkg install nazwa_pakietu działają i instalują paczki?
Czy możesz poprawnie ładować moduły komendą insmod nazwa_modułu?
 
Staszek
@Jer, paczki zainstalowałem, czyli niewiele. Zawiesiłem sie w pracy nad edycją tego pliku ipsec.conf wg tego bloga z linku. Nic nie robiłem z kom. insmod. Zastanawiam się nad danymi skryptu tego pliku, porównywałem go z treścią co zrobił Shiby. Są inne dane i wartości. Tego nie ogarniałem jeszcze. Mogę tydzień tak próbować wg zasady próby/błędy. W IP na WAN mam w obu routerach demony z noip ( brak stałego IP- adres dynamiczny)

Zastanawiam się czy LAN nr 4 nie przekształcić w vlan, jak pisał Shibby, żeby oba odległe routery chodziły w jednej podsieci.
Pozd. J.

Połączony z 15 marzec 2017 19:38:27:
Czy ktoś prócz @shibby i @Jer, może przyłączyć się do tematu sieci vpn ipsec pomiędzy Tomato a Fritz?
Edytowany przez Staszek dnia 15-03-2017 19:38
Asus RT-AC68U FreshTomato 2022.2-AIO
Światłowód 200/100
 
p4v3u
Zasadzam się na ten temat już od paru tygodni, ale dzisiaj przeczytalem pierwszych kilka zdań i widzę:

Cytat

4) Tomato-ARM7 nie jest zgodne z IPsec!! A dokładniej mówiąc moduł Tuxera NTFS nie jest zgodny z modułami IPsec.


Czy to znaczy ze na:

Model Asus RT-AC68R/U
Chipset ARMv7 Processor rev 0 (v7l)

Nie ma żadnej mozliwosci uruchomienia tuneli ipsec? Czy są jakieś plany na zmianę tego ?

pozdrawiam
p4
 
Przejdź do forum
Zaloguj
Wprowadź adres e-mail lub nazwę użytkownika

Hasło



Nie masz jeszcze konta? Zarejestruj się.

Zapomniałeś/aś hasła?
Aktualnie online
· Gości online: 86

· Użytkowników online: 0

· Łącznie użytkowników: 24,115
· Najnowszy użytkownik: Ja
Czat
Musisz się zalogować, aby opublikować wiadomość.

Maniek91PL
06-11-2024 22:37
dzięki !Grin

maxikaaz
29-10-2024 14:27
@Maniek91PL - Administration=> Admin Access, i tam masz "Allow Wireless Access" do zaznaczenia

Maniek91PL
26-10-2024 22:07
siemka! ktoś przypomni co się ustawiało jeśli nie mogę wejść od strony wifi do tomato? od lan działa

overflow2
04-10-2024 17:34
Kupowałem Asusy n10u albo n12d1 ale nie widzę ich, chyba już nie produkują, Chodzi o coś nowego i taniego. Transfery niewielkie.

maxikaaz
04-10-2024 09:38
@overflow2 patrząc po dostępności funkcji w nowych kompilacjach, to chyba nawet WRT54G/GL jeszcze ma OpenVPN, albo jakiś odpowiednik... zależy, na jakie transfery liczysz.

overflow2
30-09-2024 20:53
Jaki aktualnie najtańszy router do tomato do openvpn?

maxikaaz
27-07-2024 15:07
@servee - na początek router do rozebrania i obejrzenia, ciężko wróżyć tak tylko po objawach

maxikaaz
27-07-2024 14:55
@servee - cały kontroler nie pada tak sobie z powodu "zbiegu okoliczności",
więc prawdopodobnie gdzieś przepięcie.

servee
25-07-2024 13:33
@maxikaaz: działało, aż pewnego pięknego dnia przestało działać. W tym dniu była też burza, ale to raczej zbieg okoliczności.

maxikaaz
25-07-2024 11:38
@servee - o ile problem jest w obrębie samych wyjść (dławiki, warystory), to naprawialne, ale jeśli w samym SoC - to nienaprawialne ze względu na koszta. A co było przyczyną?

95,168,221 unikalnych wizyt