U novějších buildů je problém, a nefunguje to správne a je nunté to nějak řešit. Zde je popis problému http://svn.dd-wrt.com:8000/ticket/1868 Nástin řešení http://www.dd-wrt.com/phpBB2/viewtopic.php?t=89353 + popis problému http://www.dd-wrt.com/phpBB2/viewtopic.php?p=514682&sid=32548683897734841151b4ca08a9f2d6
insmod ipt_mark # asi neni nutne insmod xt_mark # asi neni nutne iptables -t mangle -A PREROUTING -i ! `get_wanface` -d `nvram get wan_ipaddr` -j MARK --set-mark 0xd001 iptables -t nat -A POSTROUTING -m mark --mark 0xd001 -j MASQUERADE
je potřeba upravené verze ipkg, protože ta stávající má problém a nefunguje na tomhle sestavení dd-wrt
mkdir -p /jffs/tmp/ipkg
mkdir -p /jffs/usr/local/lib/ipkg/lists
/jffs/ipkg update
wget http://svn.dd-wrt.com:8000/export/17149/opt/bin/ipkg
http://www.myopenrouter.com/forum/thread/22327/dd-wrt-on-wnr3500l-jffs-etc-ipkg.conf-no-such-file/
/jffs/ipkg install aiccu
vi /jffs/etc/aiccu.conf
# Login information username <your nichandle/username> password <your password> # Protocol and server listed on your tunnel protocol tic server tic.sixxs.net # Interface names to use ipv6_interface sixxs # The tunnel_id to use # (only required when there are multiple tunnels in the list) tunnel_id <your tunnel id> # Be verbose? verbose false # Daemonize? daemonize true # Set default route? defaultroute true
aiccu start /jffs/etc/aiccu.conf
tím by byl hotový tunel. Nyní je ještě potřeba začít šířit celý subnet do sítě. Začneme tím, že nastavíme br0 IPv6 adresu a povolíme forwardování
ip -6 addr add 2a01:8c00:ff5e::1/64 dev br0 echo 1 > /proc/sys/net/ipv6/conf/all/forwarding
pak zapíšeme radv config přes GUI (Administration → Management)
interface br0 { AdvSendAdvert on; AdvLinkMTU 1280; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2a01:8c00:ff5e::/64 { AdvOnLink on; AdvAutonomous on; }; };
kde
případně se radvd dá spustit ručně
radvd -C /tmp/radvd.conf
Zdroje:
Předpokládáme funkční OpenVPN tunel do Prahy.
nastavíme pevnou adresu pro rozhraní tap0, které vzniklo z OpenVPN
ip addr add 2a01:8c00:ff5e::9/64 dev tap0
a nastavíme výchozí routu pro IPv6, přes dd-wrt router v Praze, který má IP adresu 2a01:8c00:ff5e::1.
ip -6 route add ::/0 via 2a01:8c00:ff5e::1 dev tap0
a nastavíme i adresu pro lokální rozhraní
ip -6 addr add 2a01:8c00:ff5e:9::1/64 dev br0
soběšín bude mít subnet 2a01:8c00:ff5e:9::/64
zapsat radvd.conf
interface br0 { AdvSendAdvert on; AdvLinkMTU 1280; MinRtrAdvInterval 3; MaxRtrAdvInterval 10; prefix 2a01:8c00:ff5e:9::/64 { AdvOnLink on; AdvAutonomous on; }; };
a v praze na dd-wrt zapsat routu
ip -6 route add 2a01:8c00:ff5e:9::/64 via 2a01:8c00:ff5e::9
dd-wrt pro ASUS wl500gp (build 14929) nemá v základu ping6, ten nainstalujeme přes ipkg
ipkg -force-depends install http://downloads.openwrt.org/kamikaze/8.09.2/brcm47xx/packages/iputils-ping6_20071127-1_mipsel.ipk
zjištění ipv6 adres
ip -6 addr show
a cest
ip -6 route show
Pomocí statického tunelu se dají spojit dvě sítě bez složitého sestavování CA.
Statický klíč je na obou routerech uložený na JFFS paměti, ale mohl by být přímov initskriptu v nvram, ale takhle to šetří místo. Pro spojení se vytvoří nový iface tap0, který se připojí do existujícího bridge br0
Create a static.key file on your computer Unix:
openvpn --genkey --secret static.key
Windows: (downloaded at http://www.openvpn.se)
Click on "Start > Programs ->OpenVPN -> Generate a static OpenVPN key"
Note: this will create a c:\Program Files\OpenVPN\config\key.txt file, you will want to rename it to static.key
díra do firewallu pro příchozí spojení
iptables -I INPUT 1 -p udp --dport 1194 -j ACCEPT
vytvoříme symlink na openvpn s názvem myvpn (aby se náš tunel ve výpisu ps jmenoval myvpn)
cd /tmp ln -s /usr/sbin/openvpn /tmp/myvpn
založíme nový iface
openvpn --mktun --dev tap0
připojíme do mostu
brctl addif br0 tap0
a povolíme promiscuitní mód sítovky s adresou 0.0.0.0
ifconfig tap0 0.0.0.0 promisc up
klíč je čitelný jen rootem
chmod 600 /jffs/static.key
a spustíme samotný tunel
/tmp/myvpn --dev tap0 --secret /jffs/static.key --comp-lzo --port 1194 --proto udp --verb 3 --keepalive 10 60 --daemon
bez parametru –daemon se to spustí s výpisem, dobré pro ladění
pro přístup do sítě v soběšíně přidáme route cestu
route add -net 192.168.1.0 netmask 255.255.255.0 gw 10.0.0.9
v dd-wrt vytvoříme konec tunelu
cd /tmp ln -s /usr/sbin/openvpn /tmp/myvpn openvpn --mktun --dev tap0 ifconfig tap0 10.0.0.9 promisc up netmask 255.255.255.0
/tmp/myvpn --dev tap0 --secret /jffs/static.key --comp-lzo --port 1194 --proto udp --verb 3 --remote praha.wladik.net --keepalive 10 60 --daemon
do brány (NanoStation) přidáme route cestu
route add -net 10.0.0.0 netmask 255.255.255.0 gw 192.168.1.1
pro zapamatování i po rebootu přidat ten řádek route add do /etc/persistent/rc.poststart a potvrdit příkazem
cfgmtd -w -p /etc/
pro zapsání do flash paměti.. a rebootovat
cestu přímo v dd-wrt není nutné tvočit, protože jsme nepřipojili do bridge, a vytvoří se automaticky.
Poznámky:
ifconfig tap0 0.0.0.0 promisc up
a pak by stačilo DHCP klientem požádat o IP adresu, ale pro zadávání route cest je lepší mít adresu pevnou.
Zdroje