我正在尝试做什么

我正在尝试做什么

我正在尝试做什么

我正在尝试使用以下方法实现 IP-over-DNS 隧道通过遵循本教程这个(在这个问题中,我进一步概述了我采取的具体步骤)。我希望能够使用类似作为我的已 root 的 Lollipop 智能手机上的客户端。

我有一个 Debian 7 服务器实例我已经在上面运行了一个 OpenVPN 服务器,它运行良好,目前处于活动状态

当我iodined -c -f 10.0.0.1 -P <password> iodine.<yourdomain>.com在服务器上运行,然后iodine -f -P <password> iodine.<yourdomain>.com在我的 Ubuntu 家用电脑上运行它时,它显示

连接设置完成,正在传输数据。

出了什么问题

之后,我可以10.0.0.1从我的电脑 ping 通,甚至可以使用 SSH 进入。但是,我无法成功设置碘客户端并获得互联网连接。

在 android 客户端上,我收到了来自碘服务器的 ping 回复,但没有收到来自外部主机的 ping 回复,并且没有互联网连接。

Android 测试

在服务器上,我运行相同的iodined -c -f 10.0.0.1 -P <password> iodine.<yourdomain>.com命令。在我的 rooted stock 5.1 Lollipop XT1040 Motorola 手机上,我运行 andIodine 1.3。

和碘设置

  • 隧道顶级域名:iodine.<domain>.tk
  • 密码:<password>
  • 隧道名称服务器:<empty>
  • 名称服务器模式:LEAVE_DEFAULT
  • 名称服务器:<empty>
  • 请求类型:AUTODETECT
  • 懒人模式:enabled
  • 原始模式:disabled
  • 默认轮换:enabled

连接日志

在此处输入图片描述

连接测试

我收到了来自碘服务器的 ping 回复,但没有收到来自example.org(example.org是一个响应我本地机器上的 ping 命令的真实域 ——注意我仍然可以以某种方式获取其正确的 IP)。

在此处输入图片描述

详细配置

该服务器有一个.tk由 NameCheap 提供的免费域名和免费 DNS。这些是 DNS 条目:

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

IP 转发已启用:

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

这些是由于 OpenVPN 而已经存在的 iptables 规则:

# 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

这是我根据教程设置的新的iptalbes规则。我已更改接口名称,因为它们在我的服务器上不匹配

### 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

这些是我的网络设备在运行碘之前

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

这些是我的网络设备碘运行后

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

答案1

之后,我可以从我的电脑 ping 10.0.0.1,甚至可以使用 SSH 进入。但是,我无法成功设置碘客户端并获得互联网连接。

在 android 客户端上,我收到了来自碘服务器的 ping 回复,但没有收到来自外部主机的 ping 回复,并且没有互联网连接。

我认为你误解了碘的作用。

如果您可以通过 SSH 连接到 10.0.0.1 的服务器,则碘已发挥作用,一切都按预期工作。

现在,您可以使用 SSH 创建 SOCKS5 代理 ( )。之后,告诉您的浏览器(例如)使用 SOCKS 代理,而不是直接访问网络。ssh -N -C -D 4321 [email protected]127.0.0.1:4321

答案2

我遇到过类似的问题:ssh 进入(iodined)主机很顺利,但客户端无法上网。设置以下规则后,它运行得很好(虽然速度很慢 :D)。

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
iptables -t filter -A FORWARD -i eth0 -o dns0 -m state --state RELATED,ESTABLISHED -j ACCEPT
iptables -t filter -A FORWARD -i dns0 -o eth0 -j ACCEPT

也可以看看:https://sarwiki.informatik.hu-berlin.de/IPoverDNS坚持下去。关于餐桌规则的解释,你可以看这个https://www.youtube.com/watch?v=p5W8fuHoWM4。 祝你好运!

相关内容