Sziasztok,
valaki csinált már, vagy van ötlete hogyan lehet megvalósítani? NAT ugye nincs, így a v4 féle redirect sem lehetséges. Kicsit gugliztam, találtam egy tproxy nevű modult, de ezzel az a probléma, hogy nincs modulja ip6tables-hez (iptables-szel megy rendesen).
- 4782 megtekintés
Hozzászólások
A TPROXY ipv6-ot csak a 2.6.37-es kernel óta tud, és ha jól emlékszem minimum 1.4.11-es ip(6)tables kell hozzá.
Külön vicces egyébként, hogy az Ubuntuban pl 2.6.38-as kernel van de csak 1.4.10-es iptables.
Egyébként a fejlesztők magyarok (Balabit), és a tproxy levlistán (angolul) segítőkészek.
- A hozzászóláshoz be kell jelentkezni
Igen, láttam hogy a Balabites srácok csinálják, meg a 37-es kernelt is, az iptablest valahogy nem... 1.4.10 van nekem is.
Megnézem van-e valami repo, aztán megpróbálok frissíteni.
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Frissítettem, így már megeszi, de nem megy át a forgalom a squiden:
ip6tables -t mangle -N DIVERT
ip6tables -t mangle -A DIVERT -j MARK --set-mark 1
ip6tables -t mangle -A DIVERT -j ACCEPT
ip6tables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
ip6tables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
Pedig ennek így mennie kellene...
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Ezek megvannak?
ip rule add fwmark 1 lookup 100
ip route add local 0.0.0.0/0 dev lo table 100
Illetve kernel verziótól függően még az rp_filter is bekavarhat...
Ezt érdemes még megnézni:
- A hozzászóláshoz be kell jelentkezni
Ez a második nem fogja elcseszni amúgy a default route-ot? Meg egyáltalán, v6-ról van szó, akkor miért inet és 0.0.0.0/0?
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Bocs persze az ipv6-os megfelelőjét kell megadni.
ip -6 rule add fwmark 1 lookup 100
ip -6 route add local default dev lo table 100
Nem fogja elrontani a default utat.
Ez a policy routing bejegyzés azért kell, mert különben a kernel a csomagot kiküldené a normál útvonalon, ezzel kényszeríted rá, hogy a nem a gépnek szóló csomagokat mégiscsak feldolgozza, ehhez persze a megfelelő módosítások kellenek az alkalmazásban is (SOL_IP, IP_TRANSPARENT), de a Squid-ban (3.1-től?) ez implementálva van ha bekapcsolod a tproxy támogatást.
Bővebben itt:
http://www.mjmwired.net/kernel/Documentation/networking/tproxy.txt
- A hozzászóláshoz be kell jelentkezni
Igen, így már jó lesz :). Úgy látom működik rendesen.
Köszi a segítséget!
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Lenne kedved egy röpke leírést összedobni arról, hogy mit és hogyan csináltál? thx. :)
c
- A hozzászóláshoz be kell jelentkezni
Nagyjából azokat, amit itt beszéltünk, illetve a tproxy dokumentációban írnak.
A kernel verzió rendben volt, viszont iptables csak .40-es volt, úgyhogy hozzáadtam a netfilter repot (http://download.opensuse.org/repositories/security:/netfilter/openSUSE_…) és frissítettem az iptablest. A squidnek adtam még egy 'http_port 3129 tproxy' sort, illetve a tűzfal kiegészítés:
ip -6 rule add fwmark 1 lookup 100
ip -6 route add local default dev lo table 100
ip6tables -t mangle -N DIVERT
ip6tables -t mangle -A DIVERT -j MARK --set-mark 1
ip6tables -t mangle -A DIVERT -j ACCEPT
ip6tables -t mangle -A PREROUTING -p tcp -m socket -j DIVERT
ip6tables -t mangle -A PREROUTING -p tcp --dport 80 -j TPROXY --tproxy-mark 0x1/0x1 --on-port 3129
(Meg persze egyéb alap magától értetődő dolgok amik kellenek, pl. v6 routing engedélyezése, dhcpd6 és radvd konfigolása, filterező tűzfalszabály, bind-ba a v6 tartomány hozzáadása az allow-queryhez, squidben a v6 tartomány hozzáadása a localnethez.... Nagyjából ennyi)
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
sub
-+-+-+
Dropbox tarhely
Cave Canem
+-+-+-
- A hozzászóláshoz be kell jelentkezni
Közben felmerült még egy kérdés:
Honnan tudom meg egy adott gép ID-jét, hogy a dhcpbe fix ipt adjak neki, és squiden a v4-hez hasonlóan tudjam tiltani vagy korlátozni?
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Windows a registry-ben tárolja, Linux esetén dhcp kliens függő. google://duid ipv6
- A hozzászóláshoz be kell jelentkezni
Ha lehet, olyan megoldás kellene, ami nem generálódik újra, ha újratelepítem a rendszert.
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Mivel a MAC fix ezert ha eui-64 címeket használsz (kikapcsolod w7ben, hogy randomokat használjon) akkor tökéletesen tudod őket azonosítani, de egy ip -6 ne show és egy script segítségével is egyből tudod minek mi a címe.
- A hozzászóláshoz be kell jelentkezni
Milyen dhcpv6 ipmlementációt használsz?
A wide-dhcpv6 kliens ide teszi a DUID-ot:
/var/lib/dhcpv6/dhcp6c_duid
Ha debug módban indítod a klienst akkor kiírja egyébként.
Valami hasonlót kell megadni a wide-dhcpv6 szerver konfigban:
host valamihost {
duid 00:03:00:06:08:00:27:0c:5f:2b;
address 2001:aaa:0ab8:1::a infinity;
};
Bővebben itt:
http://www.rjsystems.nl/en/2100-dhcpv6-stateful-autocfg.php
Windows esetében egyébként az ipconfig /all parancs is kiírja a DUID-ot tudtommal.
Egyébként többféle szabvány létezik a DUID generálására az RFC3315-ben vannak ezek definiálva.
A röhej az, hogy az írható nem felejtő tárolót tartalmazó eszközök számára a DUID-LLT-t javasolják. Ez a MAC cím+2000.01.01 óta eltelt idő alapján generálódik a dhcp kliens első indításakor, ebből aztán az következik, hogy ha újratelepíted a gépet, vagy a dhcp kliens konfigja elveszik új azonosítót kap a gép.
Szóval érdemes ezt jól elrakni, vagy statikus azonosítót generáltatni a dhcp klienssel (DUID-LL pl), ha ezt tudja vagy állítható.
- A hozzászóláshoz be kell jelentkezni
Az összes kliens win7.
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Nem értek a Windows-hoz nagyon, de némileg utánaolvasva duid-llt formátumot használ.
- A hozzászóláshoz be kell jelentkezni
MAC és eui-64 címek nem jók?
- A hozzászóláshoz be kell jelentkezni
De, sőt, ez lenne a legjobb... Hogyan lehet a dhcpd6.conf-ba erre hivatkozni?
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
radvd kell hozzá
- A hozzászóláshoz be kell jelentkezni
Van, viszont a dns miatt dhcp kell úgyis...
Egy példát tudsz rá írni?
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
http://www.6deploy.org/workshops/brazil_20080526/autoconf_and_dhcpv6.pdf
Ebben van leírás radvd+dhcpd kombinációra. Viszont a windozokon tiltanod kell a random címeket hogy eui-64 címeket használjanak.
- A hozzászóláshoz be kell jelentkezni
Nem volt az utóbbi időben érkezésem ezzel foglalkozni, most belenéztem.
Nos, nem az radvd+dhcp-vel van problémám, az tökéletesen működik most is. A kérdés az volt, hogy van egy adott kliensem, meg egy jelenleg működő felállás, hogyan tudom azt elérni, hogy az a kliens mindig egy adott címet kapjon, azt, amit én mondok. Ennek radvd oldaláról milyen beállítás kell?
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni
Azt a kliens dönti el, hogy milyen módon generál magának címet, DHCP szerver nem szükséges hozzá. A radvd-ben kell a managed flaget kikapcsolni, és az autonomous flaget be. Linux esetén EU64, Windows 7/Vista viszont random generálódik a cím alapértelmezetten.
Ha nincsen közvetlen ráhatásod a kliensekre akkor igazán jó megoldás nincs. Én megpatcheltem az ISC DHCP szervert, hogy a kliens L2 MAC címe alapján osszon IP-t. Nyilván ha relay van a rendszerben, akkor ez nem játszik.
szerk:
Az ISC szerver tud olyat, hogy a DUID-LLT/LL-ből kibányássza a mac címet és az alapján azonosít. Ennek két hátulütője lehet:
1. Hálókártya cserékor nem íródik át DUID, tehát marad a régi mac cím.
2. Egy DUID van a rendszerben, tehát egy hálózati csatoló mac címe fog számítani, bármennyi van a gépben. Windows esetén ez - ha jól emlékszem - a legalacsonyabb ID-jű kártya.
- A hozzászóláshoz be kell jelentkezni
Ha kell neki v6 dns akkor sajnos kell dhcp is, bar jó lenne ha lenne egy update w7-hez amivel képes lenne az RA RDNSS-t is értelmezni.
- A hozzászóláshoz be kell jelentkezni
De a címosztás továbbra is mehet stateless módon, a címosztás és az egyéb infók lekérése független dolog.
- A hozzászóláshoz be kell jelentkezni
Igen tudom, direkt dhcp-vel akartam osztani a címeket, mert azt gondoltam, így egyszerűen megdoldható a cím hozzárendelés, mint v4 esetén.
Nincs relay, és hozzáférek minden géphez teljes joggal.
--
Discover It - Have a lot of fun!
- A hozzászóláshoz be kell jelentkezni