Konfigurowanie IP przez DNS za pomocą jodu

3

Co próbuję zrobić

Próbuję zaimplementować tunel IP-over-DNS jod podążając za obydwoma ten samouczek i ten (dalej w tym pytaniu przedstawię dokładnie, jakie kroki zrobiłem). Chcę móc użyć czegoś takiego i jod jako klient mojego zakorzenionego smartfona Lollipop.

Mam instancję serwera Debian 7 gdzie już uruchomiłem serwer OpenVPN, działa dobrze i jest aktualnie aktywny .

Kiedy uciekam iodined -c -f 10.0.0.1 -P <password> iodine.<yourdomain>.com na serwerze, a następnie iodine -f -P <password> iodine.<yourdomain>.com na moim domowym komputerze Ubuntu

Konfiguracja połączenia zakończona, przesyłanie danych.

Co jest nie tak

Po tym jestem w stanie pingować 10.0.0.1 z mojego komputera, a nawet SSH. Nie udaje mi się jednak stworzyć klienta z jodem i uzyskać połączenia z Internetem.

Na kliencie z Androidem dostaję odpowiedzi na ping z serwera jodowego, ale nie mam pingów z zewnętrznego hosta i nie mam połączenia z Internetem.

Testy na Androida

Na serwerze uruchamiam to samo iodined -c -f 10.0.0.1 -P <password> iodine.<yourdomain>.com dowództwo. Na moim zakorzenionym magazynie 5.1 Telefon Motorola Lollipop XT1040, uruchamiam iIodine 1.3.

i Ustawienia jodu

  • Topowa domena tunelu: iodine.<domain>.tk
  • Hasło: <password>
  • Serwer nazw tunelu: <empty>
  • Tryb serwera nazw: LEAVE_DEFAULT
  • Serwer nazw: <empty>
  • Typ żądania: AUTODETECT
  • Tryb leniwy: enabled
  • Tryb surowy: disabled
  • Trasa domyślna: enabled

Dziennik połączeń

enter image description here

Test łączności

Dostaję odpowiedzi na ping z serwera jodowego, ale nie mam pingów example.org ( example.org to prawdziwa domena, która odpowiada na pingi na mojej lokalnej maszynie - Zauważ, że wciąż mogę jakoś uzyskać poprawny adres IP ).

enter image description here

Szczegółowe konfiguracje

Serwer ma wolny .tk domena i bezpłatny DNS udostępniany przez NameCheap. Oto wpisy DNS:

A Record    @           <PUBLIC IP>
A Record    tunnel      <PUBLIC IP>
A Record    www         <PUBLIC IP>
NS Record   iodine      tunnel.<domain>.tk.

Przekazywanie IP jest włączone:

# cat /proc/sys/net/ipv4/ip_forward
1

To były moje reguły iptables, które są już obecne z powodu OpenVPN

# I have no idea WTF this is and what's doing here
iptables -t nat -A POSTROUTING -s 10.8.0.0/24 -j SNAT --to <PUBLIC IP>

# OpenVPN on port 53 UDP
#iptables -t nat -A PREROUTING -p udp -d <PUBLIC IP> --dport 53 -j REDIRECT --to-port 1194

# OpenVPN on port 80 UDP
iptables -t nat -A PREROUTING -p udp -d <PUBLIC IP> --dport 80 -j REDIRECT --to-port 1194

Oto nowe reguły iptables, które ustawiłem zgodnie z samouczkiem. Zmieniłem nazwy interfejsów, ponieważ nie pasują do siebie na moim serwerze .

### iodine
# Allow the DNS server to send and receive queries
iptables -A INPUT -p udp -m multiport --dports 53 -i venet0:0 -j ACCEPT
iptables -A OUTPUT -p udp -m multiport --dports 53 -o venet0:0 -j ACCEPT

# Allow the connected clients to talk to the server machine
iptables -A INPUT -i dns0 -j ACCEPT
iptables -A OUTPUT -o dns0 -j ACCEPT

# Forward Internet traffic
iptables -A FORWARD -i dns0 -o venet0:0 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i venet0:0 -o dns0 -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t nat -A POSTROUTING -o venet0:0 -j MASQUERADE
### /iodine

To są moje urządzenia sieciowe przed uruchomieniem jodu :

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:180728 errors:0 dropped:0 overruns:0 frame:0
          TX packets:244367 errors:0 dropped:41 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:15273264 (14.5 MiB)  TX bytes:289916435 (276.4 MiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:499243 errors:0 dropped:0 overruns:0 frame:0
          TX packets:495596 errors:0 dropped:13593 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:334524346 (319.0 MiB)  TX bytes:339530859 (323.8 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:<PUBLIC IP>  P-t-P:<PUBLIC IP>  Bcast:<PUBLIC IP>  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:172.16.77.18  P-t-P:172.16.77.18  Bcast:172.31.255.255  Mask:255.240.0.0
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

To są moje urządzenia sieciowe po uruchomieniu jodu :

dns0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.0.0.1  P-t-P:10.0.0.1  Mask:255.255.255.224
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1130  Metric:1
          RX packets:745 errors:0 dropped:0 overruns:0 frame:0
          TX packets:215 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500 
          RX bytes:59256 (57.8 KiB)  TX bytes:18060 (17.6 KiB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          inet6 addr: ::1/128 Scope:Host
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:180728 errors:0 dropped:0 overruns:0 frame:0
          TX packets:244367 errors:0 dropped:41 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:15273264 (14.5 MiB)  TX bytes:289916435 (276.4 MiB)

venet0    Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:127.0.0.2  P-t-P:127.0.0.2  Bcast:0.0.0.0  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
          RX packets:498943 errors:0 dropped:0 overruns:0 frame:0
          TX packets:495359 errors:0 dropped:13549 overruns:0 carrier:0
          collisions:0 txqueuelen:0 
          RX bytes:334489804 (318.9 MiB)  TX bytes:339492035 (323.7 MiB)

venet0:0  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:<PUBLIC IP>  P-t-P:<PUBLIC IP>  Bcast:<PUBLIC IP>  Mask:255.255.255.255
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1

venet0:1  Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:172.16.77.18  P-t-P:172.16.77.18  Bcast:172.31.255.255  Mask:255.240.0.0
          UP BROADCAST POINTOPOINT RUNNING NOARP  MTU:1500  Metric:1
That Brazilian Guy
źródło
Gdzie jest tutaj pytanie?
BowlesCR

Odpowiedzi:

1

Potem mogę pingować 10.0.0.1 z mojego komputera, a nawet SSH. Nie udaje mi się jednak stworzyć klienta z jodem i uzyskać połączenia z Internetem.

Na kliencie z Androidem dostaję odpowiedzi na ping z serwera jodowego, ale nie mam pingów z zewnętrznego hosta i nie mam połączenia z Internetem.

Myślę, że źle zrozumiałeś, co robi jod.

Jeśli możesz SSH na swoim serwerze na 10.0.0.1, wtedy jod zrobił swoje i wszystko działa zgodnie z oczekiwaniami.

Teraz możesz użyć SSH do utworzenia proxy SOCKS5 ( ssh -N -C -D 4321 [email protected] ). Następnie powiedz swojej przeglądarce (na przykład), aby używał proxy SOCKS pod adresem 127.0.0.1:4321 zamiast bezpośredniego dostępu do sieci.

p4bl0
źródło