OpenSSH - tunelowanie TUN/TAP
Ostatnimi czasy natrafiłem na dość ciekawy problem, sprawa dotyczyła niedziałającego serwera DHCP w lokalizacji zdalnej. Pomimo wielu prób nie mogłem osobiście sprawdzić czy faktycznie wina leży po stronie serwera czy po drodze ,,coś'' blokuję użytkownikom sieci LAN dostępu do serwera. Z pomocą przyszła usługa SSH…
SSH oferuję ciekawą opcję tunelowania dla wirtualnych interejsów TUN/TAP. Różnica pomiędzy interfejsami TUN/TAP polega na ich pracy w warstwach modelu OSI, pierwszy z nich TUN pracuje na warstwie 3 natomiast TAP na warstwie 2. Drugi z nich z racji tego, że ,,widzi'' ramki ethernetowe sprawdził się przy rozwiązywaniu moich problemów z serwerem DHCP. Zestawiając połączenie SSH po stronie zdalnej ustawiamy w konfiguracji sshd_config:
PermitTunnel yes
łączymy się używając następującej składnii:
ssh -o Tunnel=ethernet -w 0:0 <adres_zdalnej_lokalizacji>
argument -w sprawi, że po obu stronach stworzą się wirtualne interfejsy tap0.
Następnie wystarczy przy pomocy:
ip link set tap0 up
po obu stronach podnieść interfejsy, po stronie z serwerem DHCP ustawić adres IP (tak aby dhcpd przybindował się) dla interfejsu tap0 a po stronie ,,testującej'' wywołać polecenie:
dhclient tap0
Jak widać tym prostym sposobem możemy zestawić bezpieczne tunele przy pomocy wirtualnych interfejsów co w połączeniu z narzędziami bridge-utils daję możliwości budowy skomplikowanych konfiguracji.
powered by Hugo and Noteworthy theme