大家好!
我有一个家庭网络,并且有一个 DVR(提供)与我的相机相连。我可以通过互联网/局域网访问我的 DVR,但 DVR 没有任何安全选项,除了要设置的固定 IP 或 IP 范围。(有限的设置)并且我有动态 IP...所以我决定,我用 pi 和 iptables“保护”我的 DVR,这样 pi 就可以从我的国家连接。我想在让它按我想要的方式工作之后添加更多选项。
iptables -t nat -A PREROUTING -p tcp --dport 180 -j DNAT --to-destination 192.168.1.69:80
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
添加sysctl net.ipv4.ip_forward=1
我的 iptables FORWARD 和 OUTPUT 链处于接受状态,INPUT 链仅处于 DROP 状态。
连接正常,所以我可以访问 192.168.1.69 盒子的 80 端口,我得到了我的网络登录页面,但在我尝试登录后 - 输入我的用户名和密码 - 我收到一个错误,连接失败。这就像有什么东西可以通过“管道”连接,但我不明白是什么。当然,Android 应用程序无法通过 pi˙s 180 端口登录。如果我直接转到 dvr˙s ip 和端口,一切正常。DVR 没有任何配置可以看到我来自另一个 ip 而不是 pi˙s ip。我尝试将 -p udp 添加到 nat 规则,但 id 也无济于事。有人有什么想法吗?
tcpdump host 192.168.1.69
在我发送登录信息后,我得到了这个。(megatron 是我的 rasberry pi 盒子,kamera 是 DVR)
21:22:49.537477 IP megatron.57040 > kamera.http: Flags [S], seq 442083250, win 65535, options [mss 1460,nop,wscale 8,nop,nop,sackOK], length 0
21:22:49.538281 IP kamera.http > megatron.57040: Flags [S.], seq 3281539907, ack 442083251, win 14600, options [mss 1460,nop,nop,sackOK,nop,wscale 5], length 0
21:22:49.540287 IP megatron.57040 > kamera.http: Flags [.], ack 1, win 1024, length 0
21:22:49.541540 IP megatron.57040 > kamera.http: Flags [P.], seq 1:285, ack 1, win 1024, length 284: HTTP: GET /script/device_param.js HTTP/1.1
21:22:49.542319 IP kamera.http > megatron.57040: Flags [.], ack 285, win 490, length 0
21:22:50.587327 IP kamera.http > megatron.57040: Flags [P.], seq 1:93, ack 285, win 490, length 92: HTTP: HTTP/1.1 200 OK
21:22:50.587717 IP kamera.http > megatron.57040: Flags [.], seq 93:1553, ack 285, win 490, length 1460: HTTP
21:22:50.587840 IP kamera.http > megatron.57040: Flags [.], seq 1553:3013, ack 285, win 490, length 1460: HTTP
21:22:50.587962 IP kamera.http > megatron.57040: Flags [.], seq 3013:4473, ack 285, win 490, length 1460: HTTP
21:22:50.588078 IP kamera.http > megatron.57040: Flags [.], seq 4473:5933, ack 285, win 490, length 1460: HTTP
21:22:50.588200 IP kamera.http > megatron.57040: Flags [.], seq 5933:7393, ack 285, win 490, length 1460: HTTP
21:22:50.588326 IP kamera.http > megatron.57040: Flags [.], seq 7393:8853, ack 285, win 490, length 1460: HTTP
21:22:50.588446 IP kamera.http > megatron.57040: Flags [.], seq 8853:10313, ack 285, win 490, length 1460: HTTP
21:22:50.588569 IP kamera.http > megatron.57040: Flags [.], seq 10313:11773, ack 285, win 490, length 1460: HTTP
21:22:50.588694 IP kamera.http > megatron.57040: Flags [.], seq 11773:13233, ack 285, win 490, length 1460: HTTP
21:22:50.646565 IP kamera.http > megatron.57040: Flags [P.], seq 13233:13324, ack 285, win 490, length 91: HTTP
21:22:50.663756 IP megatron.57040 > kamera.http: Flags [.], ack 93, win 1023, length 0
21:22:50.663805 IP megatron.57040 > kamera.http: Flags [.], ack 1553, win 1024, length 0
21:22:50.665385 IP megatron.57040 > kamera.http: Flags [.], ack 13324, win 1024, length 0