Como encaminhar pacotes entre duas interfaces?

Como encaminhar pacotes entre duas interfaces?

Meu laptop (use Ubuntu 13.10) está conectado à internet usando uma conexão com fio eth0com ip 192.168.42.13e também funciona como um wifi hotspotat wlan0com o ip 192.168.1.1(usei airbase-ng para configurar o ap). Agora tenho um dispositivo Android que precisa se conectar a esse wifi. Vejo que meu Android é capaz de se conectar hotspote receber as seguintes configurações de rede do dhcpservidor que configurei. (usei uma chamada de ferramentaInformações Líquidas IIda PlayStore para ver os detalhes abaixo no meu Android).

# My android network settings (connected to the wlan0 of my laptop):
ip address: 192.168.1.10
subnetmask: 255.255.255.0
gateway   : 192.168.1.254
ap-mac    : xx:xx:xx:xx:xx:xx

# My pc's eth0 configuration
ip address: 192.168.42.13
submetmask: 255.255.255.0
gateway   : 192.168.42.129
iface mac : yy:yy:yy:yy:yy:yy

# My pc's wlan0 (hotspot interface) configuration
ip address: 192.168.1.1
subnetmask: 255.255.255.0
gateway   : 192.168.1.1
iface mac : zz:zz:zz:zz:zz:zz

Este tópicoaquifala sobre um problema semelhante. Vejo que preciso encaminhar pacotes entre eth0uma wlan0rede para conectar os dispositivos do meu ap sem fio à Internet. AgoraComo encaminho os pacotes que recebo wlan0 to eth0e eth0 to wlan0para conectar meu dispositivo à Internet?

Responder1

Primeiro você precisa habilitar o encaminhamento de IP em seu sistema. Para fazer isso apenas desta vez, use

sysctl -w net.ipv4.ip_forward=1

ou

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

como raiz. Se você quiser torná-lo permanente, edite

/etc/sysctl.conf

e adicione uma linha contendo

net.ipv4.ip_forward = 1

Isso será aplicado na reinicialização ou quando você executar

sysctl -p /etc/sysctl.conf

Feito isso, você provavelmente precisará de conexões NAT, pois é improvável que seu roteador saiba que a rede 192.168.1.0/24 está acessível através de 192.168.42.13. Se 192.168.42.13 for estático, você poderá usar

iptables -t nat -A POSTROUTING -i wlan0 -s 192.168.1.0/24 -j SNAT --to-source 192.168.42.13

caso contrário, use

iptables -t nat -A POSTROUTING -i wlan0 -s 192.168.1.0/24 -j MASQUERADE

Verifica aUbuntu IptablesComo fazerpara saber como salvar essas regras ao reiniciar.

informação relacionada