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
-
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
-
Eu cancelei o comentário de net.ipv4.ip_forward=1
em /etc/sysctl.conf
-
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.