A cópia de arquivo falha no Ubuntu Gateway usando NAT

1

Consegui configurar com êxito o NAT na minha máquina Ubuntu 14.04.4 para que meu computador funcionasse como um gateway para um computador conectado na interface interna ( eth0 ) à interface externa ( eth1 ). / p>

O principal objetivo não é dar acesso interno à internet, mas acesso a servidores (subversion, etc) na interface externa.

O NAT funciona e eu posso fazer ping em um servidor do PC interno.

Se eu tentar copiar um arquivo no PC interno de um servidor no PC externo, a cópia será iniciada, mas depois parará em alguns segundos (a velocidade começa em cerca de 500 KB / s, depois cai para 0,0 KB / s) . Meu comando para copiar é direto:

$ scp user@server:/path/to/file . 
user@server's password:
file            1%  704KB 0.0KB/s - stalled -

O mesmo comando de cópia do meu PC de gateway é concluído com uma velocidade média de 12MB / s. O arquivo tem cerca de 70MB.

Como posso resolver esse problema para concluir a cópia, rápido, se possível?

Minha configuração:

O NAT é configurado conforme descrito aqui

  1. Os comandos para configurar o NAT no gateway são:

    sudo iptables -A FORWARD -o eth1 -i eth0 -s 192.168.10.0/24 -m conntrack --ctstate NEW -j ACCEPT
    sudo iptables -A FORWARD -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
    sudo iptables -t nat -F POSTROUTING
    sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    
  2. Eu cancelei o comentário de net.ipv4.ip_forward=1 em /etc/sysctl.conf

  3. Eu habilitei o encaminhamento de porta usando o seguinte comando:

    sudo sh -c "echo 1 > /proc/sys/net/ipv4/ip_forward"
    

PS : Estou usando scp como teste e mostra a velocidade, o mesmo acontece com rsync . Na realidade, o arquivo é baixado por um instalador, possivelmente por http. Testado usando wget e obtenha exatamente o mesmo comportamento.

    
por The Badger 17.08.2016 / 11:16

1 resposta

0

Eu prefiro ser muito específico com interfaces e direções de fluxo. Sugira isto:

sudo iptables -F FORWARD
sudo iptables -A FORWARD -o eth1 -i eth0 -j ACCEPT
sudo iptables -A FORWARD -i eth1 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT
sudo iptables -t nat -F POSTROUTING
sudo iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
    
por Doug Smythies 17.08.2016 / 16:42