Új hozzászólás Aktív témák

  • Mr Dini

    addikt

    Üdv!

    Adott egy Fedora Server-t futtató dedikált vas. Bár a hoszting adna IPv6-ot, egyelőre az általuk adott IPv6 cím egyáltalán nincs belőve, így a szerver csak IPv4-en csatlakozik. Egyelőre nem volt rá szükség.

    Viszont most jól jönne egy nagyobb IPv6 blokk, mivel beüzemeltem egy proxyt rajta és azt vettem észre, hogy ha minden kérés egyetlen IP címről hagyja el a vasat, akkor a google meg az összes nagyobb oldal egy idő után captchával kezdi el bombázni a usereket. Tehát az a terv, hogy hozzáadok a proxyhoz egy nagyobb IPv6 blokkot és minden proxy user kap majd egy dedikált címet, vagy az egész round robin lesz (még nem döntöttem el). Mivel a hoszting csupán egyetlen IPv6 címet ad, így a tunnelbroker felé kezdtem el kacsintgatni. Annyit érdemes tudni a szolgáltatásról, hogy ingyen adnak egy /48 IPv6 blokkot kérésre egy sit tunnellel. Egy /48 valószínűleg bőven elég lenne számomra, így ez tökéletesnek tűnik. Szeretném felrakni, viszont az általuk javasolt parancsok nem megfelőek számomra:

    modprobe ipv6
    ip tunnel add he-ipv6 mode sit remote 216.66.66.66 local <szerveremipv4cime> ttl 255
    ip link set he-ipv6 up
    ip addr add 2001:470:1f08:412a::2/64 dev he-ipv6
    ip route add ::/0 dev he-ipv6
    ip -f inet6 addr

    Ugyanis itt egyrészt a /64 blokkot rendeli az interfészhez, nekem pedig a /48 kellene. Így egyszerűen az "ip addr add" sorban a /48-at adtam meg helyette. És ez így működik is szépen. Futtattam még egy sysctl -w net.ipv6.ip_nonlocal_bind=1 és ip -6 route replace local <48asipv6blokkom> dev lo parancsokat és a proxy már tudja is használni a teljes range-t. Igen ám, viszont a default route miatt a teljes rendszer ipv6-os forgalma a tunnelen keresztül fog zajlani, amit nem szeretnék, mivel a tunnel jóval lassabb, mint a fizikai interfészem, illetve csak a proxyn belül van szükségem az IPv6-ra, más programokkal felesleges.

    Gondolkoztam, hogy a default route helyett hogyan tudnám megoldani, hogy csak bizonyos programok számára legyen a sit tunnel elérhető. Van egy megoldásom, amit a VPN-ek esetében szoktam használni, hogy csinálok egy felhasználót és annak a forgalmát irányítom egy adott interfészre. Valahogy így néz ki a parancssorom hozzá:

    adduser ipv6
    id ipv6 # uid: 1004, gid: 1005 az esetemben
    modprobe ipv6
    ip tunnel add he-ipv6 mode sit remote 216.66.66.66 local <szerveremipv4cime> ttl 255
    ip link set he-ipv6 up
    ip addr add 2001:470:1f08::2/48 dev he-ipv6
    ip -6 rule add uidrange 1004-1004 table he-ipv6
    ip -6 rule add default dev he-ipv6 table he-ipv6

    Ennek mennie kellene és az ipv6 user forgalmának elviekben a tunnelt kéne preferálnia, de a gyakorlatban, mintha az uidrange feltétel nem működne ipv6-tal. Ugyanez a módszer ipv4-gyel remekül működik.

    Mit tudok tenni? Gondolkoztam VM-men, de az nagyon béna megoldás, illetve network namespace-n/vrf-en, de azt nem sikerült összehozni...

    Illetve van egy wireguard VPN kliensem. Meg tudom csinálni, hogy a sit forgalmat VPN-nen keresztül bonyolítom le? Vagy a wireguard L3-on működik, a sit pedig "lentebb van"?

    Köszönöm! :R

Új hozzászólás Aktív témák