Encaminhar conexão com a Internet por ssh para o computador remoto

2

Estou com dificuldades para acessar a Internet do meu computador remoto. Gostaria de acessar o computador remoto via ssh e ter a conexão com a internet disponível para instalar pacotes, etc.

Parece assim:

(Internet) <--wlan0--> ((Local Computer)) <--eth0--> ((Remote Computer))

Em ambos os computadores, o Linux com Ubuntu está em execução.
Os IPs dos computadores são:

Computador local:

wlan0:  10.2.217.213
eth0:   192.168.1.10 (fixed)

Computador remoto:

eth0: 192.168.1.13 (fixed)

Posso apenas encaminhar uma porta onde recebo a conexão com a Internet no meu computador local? Como posso determinar essa porta?

Fico feliz por sua ajuda! Não sou especialista em redes e já pesquisei durante horas e tentei encaminhamento, bridge, sshuttle etc. sem sucesso.

Muito obrigado,
Jonas

    
por jonas- 16.04.2015 / 11:03

2 respostas

2

Use este conjunto de regras iptables para configurar seu computador local como um roteador NAT:

iptables -P INPUT DROP  # drop every INPUT
iptables -P FORWARD DROP    # drop every FORWARD
iptables -A INPUT -i lo -j ACCEPT   # accept loopback-INPUT
iptables -A INPUT -i eth0 -j ACCEPT # accept eth0 INPUT
iptables -t nat -A POSTROUTING -o wlan0 -j MASQUERADE   # NAT-Translation
iptables -A FORWARD -i eth0 -j ACCEPT   # accept FORWARD-Traffic from eth0
iptables -A FORWARD -i wlan0 -o eth0 -m state --state ESTABLISHED,RELATED -j ACCEPT # accept FORWARD-Traffic as reply for existing connections
iptables -A INPUT -i wlan0 -m state --state ESTABLISHED,RELATED -j ACCEPT # allow the local computer to access the internet
iptables -A INPUT -i wlan0 -p icmp --icmp-type echo-request -j ACCEPT # allow pings on wlan0
echo "1" > /proc/sys/net/ipv4/ip_forward

Não copie essas regras sem verificá-las primeiro. Use um root-Shell (por exemplo, sudo -s ) para aplicar essas regras ao iptables.

Lembre-se de configurar seu computador local como gateway para o remoto.

    
por Oliver R. 16.04.2015 / 14:02
0

Sugerindo que ambos sejam máquinas linux, você terá que configurar o roteamento em seu computador local, o que significa pelo menos definir este parâmetro do kernel:

echo "1" > /proc/sys/net/ipv4/ip_forward

(Esta é uma configuração não permanente, desaparece após a reinicialização. Coloque essa linha em /etc/rc.local , por exemplo, para fazer isso sempre na inicialização.)

O computador remoto precisa ter o computador local configurado como seu gateway padrão.

Dependendo da configuração do seu computador local, talvez seja necessário configurar o iptables para determinados itens, por exemplo, NAT. Mas basicamente isso não deve ser necessário. Além disso, o roteador entre a Internet e seu computador local pode precisar saber a rota para o eth0-network ( 192.168.1.0/24 ?)

EDITAR: Esqueci a coisa principal: supondo que você tenha um roteador NAT entre a Internet e o computador local e você definiu a rota nesse roteador de Internet para seu eth0-network , você pode configurar o encaminhamento de porta para ssh diretamente para 192.168.1.13 .

Espero que isso ajude!

    
por Oliver R. 16.04.2015 / 11:25