Odp: IPsec a nowy kernel 2.6.32.27
1)to że tunel się zestawia miedzy hostami w lan automatycznie to normalne. Sam tunel między gateway na których stoi ipsec się nie zestawi całkowicie chyba że wywołasz ręcznie komendę connect w cli racoon
racoonctl vpn-connect [-u identity] vpn_gateway
racoonctl vpn-disconnect vpn_gateway2)Bardzo często nie da się z routera który jest gatewayem vpn dostać na drugą stronę. Wynika to z różnych przyczyn. Jedną z nich jest adres źródłowy. Tunel musi dostać pakiet z lan a pingując standardowo z routera drugą stronę adresem źródłowym niekoniecznie jest adres ip interfejsu lan i to jest rónież przyczyną niemożności dostania się z routera po vpn na drógą stronę. Co do ping można w pewien sposób poradzić sobie z tym podając opcję -I IP_ADRES_IFACE_LAN
3)Nie moja wina że developerzy openwrt ciągle coś przerabiają w firewallu(nawet to dobrze że firewall ciągle ewoluuje). Ale w tym wypadku mocno przegięli. Dla mnie to oczywisty błąd bo reguły z /etc/firewall.user powinny mieć pierwszeństwo nad tymi co są ładowane ze skryptów (/etc/config/firewall). Znaczy się powinny być ładowane na końcu. Niestety developerzy postarali się o to że przestawili reguły NAT dotyczące WAN i LAN na początek reguł POSTROUTING i za chiny ludowe nie da się czegokolwiek wstawić przed nimi z pliku /etc/firewall.user
Poprzednio Reguły NAT z WAN i LAN były za łańcuchem postouting_rule teraz niestety są przed. Więc użytkownikowi nie pozostawia się ŻADNEGO pola działania.
Mocno zastanawiam się czy modyfikować mój opis. Zmiany które wprowadzili są dla mnie dość kontrowersyjne. Nie wiem może na końcu każdego dokumentów napiszę o tym aby inni wiedzieli że coś nie tak.
Dlatego przeniesienie reguł dotyczących ipsec do własnego skryptu uruchamianego po firewallu jest wręcz wymagane.
potwierdzeniem tego co pisze wyżej jest ustawienie kolejności reguł
Chain POSTROUTING (policy ACCEPT 246 packets, 18433 bytes)
pkts bytes target prot opt in out source destination
854 61486 zone_wan_nat all -- any eth0.2 anywhere anywhere
1 84 zone_lan_nat all -- any br-lan anywhere anywhere
0 0 ACCEPT esp -- any any anywhere anywhere
0 0 ACCEPT ah -- any any anywhere anywhere
0 0 ACCEPT ipcomp-- any any anywhere anywhere
0 0 ACCEPT all -- any any 192.168.1.0/24 192.168.11.0/24
246 18433 postrouting_rule all -- any any anywhere anywherenasze reguły zostały wstawione za NAT .
Zwracam uwagę że nie mogę użyć łańcuchów
zone_wan_nat i zone_lan_nat
ponieważ są one powiązane jasno z interfejsem fizycznym
W przypadku racoon nie ma czegoś takiego jak fizyczny interfejs
Można oczywiście użyć openswan on już ma iface np. ipsec0
PS. przerobiłem arta.