LINUX.ORG.RU
ФорумAdmin

Не работает http file upload через OpenVPN на NAS'е

 ,


0

2

Ситуация следующая, после того как разочаровался в openvpn'е на dd-wrt, поднял дома роутер на нормальной машине и debian'е.

Всё, что нужно, работает, кроме следующей мульки: дома есть обычный wifi роутер (ip 10.0.1.1) с проброшенным портом openvpn до компа с дебианом (ip 10.0.1.20) и NAS Thecus 4100evo с transmission (ip 10.0.1.10), в который я хочу заливать файлы торрентов, чтобы он их качал. Однако, этого не происходит. На его (NAS'а) веб-морду через vpn я могу попасть, но когда нажимаю в форме загрузки файла кнопку Upload, ничего не просиходит. Домашняя сеть 10.0.1.0/24, VPN 10.0.15.0/24 .

iptables:

root@mkhHome> iptables -L -v                                                                                                                                                             
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   55  7270 ACCEPT     all  --  lo     any     anywhere             anywhere            
    0     0 REJECT     all  --  !lo    any     anywhere             loopback/8          reject-with icmp-port-unreachable 
  448  184K ACCEPT     all  --  any    any     anywhere             anywhere            state RELATED,ESTABLISHED 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:2001 
    0     0 ACCEPT     udp  --  any    any     anywhere             anywhere            state NEW udp dpt:2002 
    0     0 ACCEPT     tcp  --  any    any     anywhere             anywhere            state NEW tcp dpt:2812 
    0     0 ACCEPT     icmp --  any    any     anywhere             anywhere            icmp echo-request 
    2   474 REJECT     all  --  any    any     anywhere             anywhere            reject-with icmp-port-unreachable 

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  237  118K ACCEPT     all  --  eth0   tun0    anywhere             anywhere            
  384  248K ACCEPT     all  --  any    eth0    10.0.15.0/24         anywhere            
    0     0 REJECT     all  --  any    any     anywhere             anywhere            reject-with icmp-port-unreachable 

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  331  148K ACCEPT     all  --  any    any     anywhere             anywhere            


root@mkhHome> iptables -L -v -t nat                                                                                                                                                       
Chain PREROUTING (policy ACCEPT 2 packets, 474 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 11 packets, 700 bytes)
 pkts bytes target     prot opt in     out     source               destination         
    0     0 MASQUERADE  all  --  any    eth0    10.0.15.0/24         anywhere            

Chain OUTPUT (policy ACCEPT 11 packets, 700 bytes)
 pkts bytes target     prot opt in     out     source               destination

OpenVPN config:


management localhost 9875
port 12345
proto udp
dev tun0

ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key  
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem

server 10.0.15.0 255.255.255.0
push "route 10.0.1.0 255.255.255.0"
client-to-client
keepalive 10 120
comp-lzo
persist-key
persist-tun
status openvpn-status.log
verb 3


Не совсем понял вашу сеть, и с какого компьютера эти правила в iptables? В OpenVPN config у вас порт 12345, а в iptables в INPUT разрешён только udp порт 2002. Счётчик у правила MASQUERADE равен нулю, как вы устанавливали соединение с web-мордой?

Проблема точно не в браузере?

mky ★★★★★ ()
Ответ на: комментарий от mky

Извиняюсь, несоответствие версий одного и другого :-) В openvpn сейчас тоже udp 2002. Правила iptables с компьютера с vpn.

root@mkhHome> iptables -t nat -L -v                                                                                                                                                   
Chain PREROUTING (policy ACCEPT 10046 packets, 553K bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 97 packets, 7268 bytes)
 pkts bytes target     prot opt in     out     source               destination         
  261 15780 MASQUERADE  all  --  any    eth0    10.0.15.0/24         anywhere            

Chain OUTPUT (policy ACCEPT 97 packets, 7268 bytes)
 pkts bytes target     prot opt in     out     source               destination         

А теперь не равны нулю, в тот раз я только подключился и не успел никуда сходить.

mkh ()
Ответ на: комментарий от mkh

Хорошо.

Попробуйте задампить пакеты между вашим комьютером и NAS, как-то так:

tcpdump -i eth0 -s 2000 -w /tmp/tcpdump-nas host 10.0.1.10 and net 10.0.15.0/24

При запущенном tcpdump попробовать сделать upload, подождать немного, потом Ctrl-C для tcpdump (чтобы закрылся файл) и смотреть пакеты через:

tcpdump -r /tmp/tcpdump-nas -s 2000 -n -nn -X

будет видно, послыает ли браузер http-запрос.

mky ★★★★★ ()
Ответ на: комментарий от mkh

Ну можно рассмотреть две версии, либо как-то криво работает firefox (какие-нибудь плугины мешаются), либо что-то не так с tcp-сессией. Для tcp-сессии могут быть проблемы с MSS или с опциями «Window scale» и «Timestamp».

Попробуйте добавить на openvpn сервере правило для MSS (поискать по "-j TCPMSS") и правило для «отрезания» tcp-опций:

iptables -I PRETOUTING -s 10.0.15.0/24 -d 10.0.1.10 -j TCPOPTSTRIP --strip-options timestamp,wscale

mky ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.