Portál AbcLinuxu, 5. května 2025 12:57
Řešení dotazu:
interface eth0 { AdvSendAdvert on; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2001:470:27:6b3::2/64 { AdvOnLink off; AdvAutonomous on; AdvRouterAddr on; Base6to4Interface eth0; AdvPreferredLifetime 20; AdvValidLifetime 30; }; };Na klientovi je pak toto:
eth0 Link encap:Ethernet HWadr 1c:6f:65:25:6a:b2 inet adr:192.168.1.20 Všesměr:192.168.1.255 Maska:255.255.255.0 inet6-adr: 2002:c0a8:101:6b3:1e6f:65ff:fe25:6ab2/64 Rozsah:Globál inet6-adr: fe80::1e6f:65ff:fe25:6ab2/64 Rozsah:Linka AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1 RX packets:10293696 errors:0 dropped:0 overruns:0 frame:0 TX packets:9960055 errors:0 dropped:0 overruns:0 carrier:0 kolizí:0 délka odchozí fronty:1000 Přijato bajtů: 7698534398 (7.6 GB) Odesláno bajtů: 2025398835 (2.0 GB) Přerušení:33 Vstupně/Výstupní port:0x8000forward na serveru jsem zapnul pomocí sysctl net.ipv6.conf.all.forwarding=1 a ping na ipv6.google.com z klienta neprojde. Nevíš co dělám blbě? Mohl bys mi sem prosím hodit ten script, který Ti hlídá změny IP adresy a dělá věci okolo. Díky!
server:~# ping6 2001:470:27:6b3::2 PING 2001:470:27:6b3::2(2001:470:27:6b3::2) 56 data bytes 64 bytes from 2001:470:27:6b3::2: icmp_seq=1 ttl=60 time=94.4 ms 64 bytes from 2001:470:27:6b3::2: icmp_seq=2 ttl=60 time=94.0 ms 64 bytes from 2001:470:27:6b3::2: icmp_seq=3 ttl=60 time=94.6 ms 64 bytes from 2001:470:27:6b3::2: icmp_seq=4 ttl=60 time=94.1 ms 64 bytes from 2001:470:27:6b3::2: icmp_seq=5 ttl=60 time=96.2 msco se týče radvd.conf, tak v prefixu má být adresa sítě, ne adresa PC 2001:470:27:6b3::/64 a ne 2001:470:27:6b3::2/64, jinak toto možná nemá vliv na funkci, nevím
ip6tables -P INPUT -j ACCEPT ip6tables -P OUTPUT -j ACCEPTJinak 2001:470:27:6b3::2/64 je jen pro tunel (i s ním mi to fungovalo na LAN ethernetech), máš přidělen jiný celý rozsah /64, tak použij ten (položka Routed /64, když rozklikneš tunel na he.net)
eth0 Link encap:Ethernet HWadr 1c:6f:65:25:6a:b2 inet adr:192.168.1.20 Všesměr:192.168.1.255 Maska:255.255.255.0 inet6-adr: 2002:c0a8:101:6b3:1e6f:65ff:fe25:6ab2/64 Rozsah:Globál inet6-adr: fe80::1e6f:65ff:fe25:6ab2/64 Rozsah:Linka AKTIVOVÁNO VŠESMĚROVÉ_VYSÍLÁNÍ BĚŽÍ MULTICAST MTU:1500 Metrika:1 RX packets:38083 errors:0 dropped:0 overruns:0 frame:0 TX packets:52312 errors:0 dropped:0 overruns:0 carrier:0 kolizí:0 délka odchozí fronty:1000 Přijato bajtů: 7673305 (7.6 MB) Odesláno bajtů: 8263479 (8.2 MB) Přerušení:33 Vstupně/Výstupní port:0xe000Zkusil jsem povolit na klientovy provoz pomocí:
ip6tables -P INPUT ACCEPT ip6tables -P OUTPUT ACCEPT-j se mu nelíblo. Stále se ale z klienta nedopingnu na ipv6. Kdyz zkusím traceroute6, moc daleko se nedostanu:
traceroute6 ipv6.google.com traceroute to ipv6.l.google.com (2a00:1450:8007::68) from 2002:c0a8:101:6b3:1e6f:65ff:fe25:6ab2, 30 hops max, 24 byte packetsTakže se zřejmě nedostanu ani na server.
Base6to4Interface eth0;protože ven je eth1. Opravil jsem, dal restart ale stále stejné
#!/bin/bash last_ip='/etc/network/last_ext_ip' log='/var/log/check_ip-last_ip.log' ext_if='eth0' ip=`LC_ALL=C /sbin/ifconfig $ext_if |grep 'inet addr' |egrep -o '([0-9]{1,3}\.){3}[0-9]{1,3}' |head -n1` if [ ! -f $last_ip ]; then echo -n $ip >$last_ip echo `LC_ALL=C date`" -- IP set to $ip" >>$log mail -s "IP set" jarda@jarda.tld <<<"$ip" /usr/local/wall/wall exit 0 fi ip2=`cat $last_ip` if [ $ip2 != $ip ]; then echo -n $ip >$last_ip echo `LC_ALL=C date`" -- IP changed from $ip2 to $ip" >>$log mail -s "IP changed" jarda@jarda.tld <<<"$ip2 -> $ip" /usr/local/wall/wall fiřádek /usr/local/wall/wall je na restart mého FW
3. do políčka IPv4 endpoint dát IPv4, která se píše pod tím (veřejná adresa, tvého routeru nebo tvého ISP)Z návodov, čo som videl, som to pochopil tak, že musí byť statická. Dá sa to nejako spraviť aj s dynamickou IPv4 adresou (áno, "šťastný" používateľ ADSL)?
Když ho prostě jen tak připojím k D-Linku, nainstaluju na něj podporu IPv6 dle OpenWrt wiki a jeho radvd nakonfiguruju, aby v LAN nabízelo adresy z nějakého dalšího /64 prefixu, tak router vůbec nedostane IPv6 adresu.To proto, že radvd zapne forwardování IPv6 paketů a takové forwardování zase automaticky vypne IPv6 autokonfiguraci (což je logické, protože pokud se má počítač chovat jako IPv6 router, bude potřebovat víc než jen bezestavovou autokonfiguraci a ta by tedy byla jaksi navíc. Řešení je jednoduché, stačí správně nastavit směrování. Předpokládejme, že v síti za ADSL modemem máš IPv6 adresy z rozsahu
<tvůj48bprefix>:1::/64A chtěl bys, aby za ASUS routerem byl prefix:
<tvůj48bprefix>:2::/64Takže na WAN rozhraní ASUS routeru nastav ručně IPv6 adresu:
<tvůj48bprefix>:1::2/64A taky výchozí IPv6 bránu, kterou bude adresa D-linku v první síti, pravděpodobně to bude adresa
<tvůj48bprefix>:1::1Na LAN rozhraní ASUS routeru pak nastav libovolnou adresu z druhého prefixu, například:
<tvůj48bprefix>:2::1/64a spusť RADVD. Posledním krokem je přidání statické routy na D-link modemu do sítě
<tvůj48bprefix>:2::/64přes bránu
<tvůj48bprefix>:1::2. Pak by mělo všechno spolu bez problému komunikovat.
ip6tables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
,
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.