De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Jean Carlos Oliveira Guandalini
Data de Publicação: 02 de Junho de 2005
Vamos trabalhar com o seguinte ambiente:
IP: 200.200.200.200 Gateway: 200.200.200.199 Rede Local: 192.168.0.0/24 IP Local: 192.168.0.254/24
IP: 200.100.100.100 Gateway: 200.100.100.099 Rede Local: 192.168.1.0/24 IP Local: 192.168.1.254/24
Você deve ter o kernel compilado com o GRE, funcionando como módulo: Na seção de Networking Options você irá encontrar a opção: "IP: GRE tunnels over IP"
Networking Options <M> IP: GRE tunnels over IP
Você deverá também ter o utilitário iproute2 instalado: http://developer.osdl.org/dev/iproute2/
O módulo ip_gre deve ser sempre inicializado no boot da máquina.
# modprobe ip_gre
Agora iremos configurar o primeiro servidor ("bart")
# ip tunnel add homer mode gre remote 200.100.100.100 local 200.200.200.200 ttl 255
Foi criado um tunel com o nome de homer(este será o nome de nossa interface) utilizando o protocolo gre definindo que o ip remoto é 200.200.200.200(ip do servidor homer) e o ip local(publico) é 200.100.100.100 e definindo a configuração de ttl do pacote para 255.
# ip link set homer up
Aqui estamos levantando a interface homer
# ip addr 192.168.0.254 dev homer
Configuramos o ip 192.168.0.254 para a interface homer, pode ver que o ip é o mesmo de nosso servidor(rede local)
# ip route add 192.168.1.0/24 dev homer
Aqui estamos dizendo que para chegar a rede 192.168.0.254/24 é utilizando a interface homer(no caso nosso túnel).
Devemos configurar tudo isso em nosso servidor ("homer")
# ip tunnel add bart mode gre remote 200.200.200.200 local 200.100.100.100 ttl 255 # ip link set bart up # ip addr 192.168.1.254 dev bart # ip route add 192.168.0.0/24 dev bart
Como vocês puderam ver fiz a configuração da maneira inversa, ou seja, fará com que o homer enchergue a rede interna de bart.
Para fazer o teste se seu túnel está funcionando você pode tentar efetuar um ping no caso de nosso exemplo do servidor homer para um ip que esteje configurado corretamente na rede do servidor bart.
ex:
root@homer #: ping 192.168.0.1 PING 192.168.0.1 (192.168.0.1) 56(84) bytes of data. 64 bytes from 192.168.0.1: icmp_seq=1 ttl=253 time=22.9 ms 64 bytes from 192.168.0.1: icmp_seq=2 ttl=253 time=8.50 ms 64 bytes from 192.168.0.1: icmp_seq=3 ttl=253 time=10.8 ms 64 bytes from 192.168.0.1: icmp_seq=4 ttl=253 time=13.0 ms 64 bytes from 192.168.0.1: icmp_seq=5 ttl=253 time=5.09 ms ``` 192.168.0.1 ping statistics --- 5 packets transmitted, 5 received, 0% packet loss, time 4041ms rtt min/avg/max/mdev = 5.097/12.097/22.958/6.038 ms
Caso você queira retirar um tunel utilize a seguinte sintaxe:
# ip link set nometunel down # ip tunnel del nometunel
Utilizando em nosso exemplo, se fizermos isso no servidor bart
# ip link set homer down # ip tunel del homer
Você precisa lembrar que a cada boot do sistema essas informações precisam ser novamente executadas, então é interessante escrever um script para levantar esses túneis.
Utilizei como referência a documentação do iproute2: http://lartc.org/howto/
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários