Você está na página 1de 9

Configurando interface de rede no

Debian 9/10/11
Neste tutorial vamos aprender a configurar nossas interfaces de rede no
Debian e estar pensando um pouco mais para fazer uma boa escolha na hora
de realizar suas configurações.

Antes de mais nada você precisa saber o que você quer!? Qual será o
cenário!? Vejo muitas pessoas cometerem um desastre nos dias hoje quando
se trata em colocar um simples IP público em um servidor. E por isso escrevo
este “artigo” meio que tutorial.

No Debian você pode configurar os endereços IPs bem como algumas regras
no arquivo /etc/network/interfaces, irei levar como base uma instalação
recém-feita.
Irei usar o editor nano que é o que já vem instalado, mas você pode usar o
editor de sua escolha.

1# nano /etc/network/interfaces

Se em sua instalação você informou o endereço IPv4 seu arquivo será algo
como este, ressaltando que enp0s3 é o nome da interface, e ela pode ser outra.

1 # This file describes the network interfaces available on your system


2 # and how to activate them. For more information, see interfaces(5).

4 source /etc/network/interfaces.d/*

6 # The loopback network interface
7 auto lo
8 iface lo inet loopback

10 # The primary network interface
11 allow-hotplug enp0s3
12 iface enp0s3 inet static
13         address 192.168.87.3/24
14         gateway 192.168.87.1
15         # dns-* options are implemented by the resolvconf package, if installed
16         dns-nameservers 1.1.1.1 8.8.8.8
Alterar DNS
Por mais que vimos dns-nameserver nesta parte da configuração de rede, o
servidor não irá usa-los, o arquivo qual será levado em conta é
o /etc/resolv.conf

1# nano /etc/resolv.conf

1 nameserver 1.1.1.1
2 nameserver 1.0.0.1
3 nameserver 2606:4700:4700::1111
4 nameserver 2606:4700:4700::1001

Se sua instalação foi feita com DHCP ativo, sua configuração será:

1 # This file describes the network interfaces available on your system


2 # and how to activate them. For more information, see interfaces(5).

4 source /etc/network/interfaces.d/*

6 # The loopback network interface
7 auto lo
8 iface lo inet loopback

10 # The primary network interface
11 allow-hotplug enp0s3
12 iface enp0s3 inet dhcp

E ai, o que queremos ?


Planejar, é claro! Se você esta montando seu data center onde terá vários
servidores, o que será melhor adorar? Quebrar um prefixo /30 para cada
servidor que eu for implementar? NÃO!. Quer me ver com os olhos
sangrando é ver alguém que tem vários servidores e para cada servidor o
mesmo quebrou um /30 público. Pense comigo você tem 2 servidores você
precisa 2 IPs, se você quebrou 2 /30 você terá sim seus 2 IPs públicos mas
você acabou de jogar no LIXO outros 6 endereços IPs, e nos dias de hoje 1
único IP publico é quase como o ditado: Em terra de cego, quem tem um olho
é rei?
Então o que fazer, o mais sensato é você pensar e quebrar um prefixo maior
para que você não precise estar quebrando prefixos a cada servidor. Antes de
mais nada imagine onde você quer chegar! Quantos servidores irá montar,
quantos IPs publicos e privados irá precisar… Sempre que dou uma
consultoria essa é a primeira coisa faço, “sento” com o cliente e estudo. E com
base neste estudo reservamos já um/dois prefixo /29, /28 ou 27 até mesmo
um /24 público/privado, vai depender muito de cada cenário, se meu cliente
tem milhares de hospedagem com certeza o número de servidores em seu data
center é enorme.

Outro grande erro em servidores é o NAT mal aplicado! Muitas pessoas


principalmente pessoal de provedor ainda tem costume de colocar em seu
Mikrotik de borda um belo NAT para fornecer internet a um servidor, ou
apenas para fazer um redirecionamento de portas. Quando aplicamos regras de
NAT em um roteadores causamos muitos malefícios para o bichinho! Então
vamos para de fazer isso? Vou lhe ajudar!
É claro que isso é muito relativo de cada empresa, já fiz NAT com borda? Já!
Depende do tamanho da empresa e organização de cada um. Então não leve
ao pé da letra! Estou tentando lhe dizer o que é o melhor a ser feito!
Já fui criticado por pedir para cliente comprar uma roteador para ser apenas o
gateway dos servidores. “Rudimar é louco”. E eu digo: Mais louco é quem
faz NAT em roteador de borda! . Em alguns casos eu recomendo um router
para ligar os servidores, pois você pode ter diversos recursos na manga, e
basta você fechar um iBGP/OSPF entre seu roteador de borda com seu
roteador “data”.

Exemplos

Receber IP via DHCP


O mais simples a ser feito quando seu servidor ira receber IP
automaticamente.
1 allow-hotplug enp0s3
2 iface enp0s3 inet dhcp

Fixando IPv4 e IPv6


Basicamente o que iremos usar em 95% das vezes

1 allow-hotplug enp0s3
2 iface enp0s3 inet static
3         address 200.200.200.2/28
4         gateway 200.200.200.1

6 iface enp0s3 inet6 static
7         pre-up modprobe ipv6
8         address 2804:bebe:cafe::2
9         netmask 64
10         gateway 2804:bebe:cafe::1

Adicionando Multiplos IPs


Quando quiser mais de um IP no mesmo servidor, caso for outras interfaces
basta ajustar para o nome da interface

1 allow-hotplug enp0s3
2 iface enp0s3 inet static
3         address 200.200.200.2/28
4         gateway 200.200.200.1

6 iface enp0s3 inet static
7         address 200.200.200.3/28

9 iface enp0s3 inet static
10         address 200.200.201.1/32
11  
12 iface enp0s3 inet6 static
13         pre-up modprobe ipv6
14         address 2804:bebe:cafe::2
15         netmask 64
16         gateway 2804:bebe:cafe::1
17  
18 iface enp0s3 inet6 static
19         pre-up modprobe ipv6
20         address 2804:bebe:cafe::3
21         netmask 64
22  
23 iface enp0s3 inet6 static
24         pre-up modprobe ipv6
25         address 2804:bebe:ffff:ffff::ffff
26         netmask 128

IP na Loopback
Eu particularmente não uso, (na grande maioria das vezes quando subo um
/32 uso a interface wan) a não ser que meu servidor tenha um FRR rodando e
tenha algum motivo, mas ai estaria fazendo a adição de IPs pelo FRR.

1 auto lo
2 iface lo inet loopback

4 iface lo inet static
5         address 200.200.200.200/32

Ponto a ponto – Pointopoint


Aqui muitos ficam bugado, no meu cenário perceba que temos um servidor
conectado ao roteador de borda, agora imagine, que neste roteador de borda
não tem nenhum IP público por politicas de segurança, mas ai vem o
estagiário e e te diz: Vamos quebrar um /30 pub! Então saiba que você não
precisa fazer isso, você pode adicionar um IP ponto a ponto, onde temos IP
diferente dos dois lados, então como no exemplo a baixo podemos add no
nosso roteador de borda 10.50.50.1 e no nosso servidor 200.200.200.0.

1 allow-hotplug enp0s3
2 iface enp0s3 inet static
3         address 200.200.200.0
4         pointopoint 10.50.50.1
5         netmask 255.255.255.255
6         gateway 10.50.50.1

Isso funciona? É claro! E você não irá precisar deixar seu roteador de borda
com IP público acessível pelo mundo, e muito menos fazer um NAT! Como
sou bonzinho vou deixar aqui como você configuraria isso no seu Mikrotikão!
Ficaria assim:
1 RouterOS# /ip address
2 RouterOS# add address=10.50.50.1 comment=Pointopoint interface=ether1 network=200.200.200.0

Simples não?! Testa ai! Depois me conta!

Privado com saída em origem Público


Quase que como o exemplo do pointopoint, porem em alguns roteadores não
temos o suporte para fazer pointopoint, uma saída é você quebrar um prefixo
privado (estou usando /30, mas se tivesses vários servidores junto faria já um
prefixo maior). No exemplo então meu IP público é o 200.200.200.200/32
qual irei colocar na mesma interface da WAN que tenho o 10.33.33.2/30, logo
o roteador é o 10.33.33.1. Desta forma você tem uma conversa entre as
interfaces por IP privado, porem os pacotes são originados com o endereço de
IP público.

1 allow-hotplug enp0s3
2 iface enp0s3 inet static
3     address 200.200.200.200/32
4 iface enp0s3 inet static
5     address 10.33.33.2/30
6     post-up /usr/sbin/ip route add default via 10.33.33.1 src 200.200.200.200

Mas ai temos um problema, seu servidor irá gerar os pacotes de origem


publico, e irá enviar para internet, mas quando o pacote estiver voltando ao
chegar em seu roteador de borda é necessário que você tenha uma rotá para o
mesmo. Então crie um rota estática dizendo que Destino 200.200.200.200 o
gateway é 10.33.33.2 IP este do seu servidor. Ex.:
Exemplo RouterOS:

1 RouterOS# /ip address add address=10.33.33.1/30 interface=ether2


2 RouterOS# /ip route add dst-address=200.200.200.200/32 gateway=10.33.33.2

É possível fazer isso para IPv6 também? É claro!


1 allow-hotplug enp0s3

3 IPv6 Público
4 iface enp0s3 inet6 static
5         pre-up modprobe ipv6
6         address 2804:bebe:cafe::cafe
7         netmask 128

9 # IPv6 Privado
10 iface enp0s3 inet6 static
11         pre-up modprobe ipv6
12         address fd00:a::2
13         netmask 64
14         post-up /usr/sbin/ip -6 route add default via fd00:a::1 src 2804:bebe:cafe::cafe

Exemplo RouterOS:

1 RouterOS# /ipv6 address add address=fd00:a::1/64 advertise=no interface=ether2


2 RouterOS# /ipv6 route add dst-address=2804:bebe:cafe::cafe/128 gateway=fd00:a::2

Criando VLAN e adicionado IP nela


Para adicionar um IP a uma VLAN precisamos carregar o módulo 8021q, e
coloca-lo para iniciar com sistema.

1 # modprobe 8021q
2 # echo "8021q" >> /etc/modules

Agora basta editar sua interface e incluir um ponto e o numero da VLAN. No


exemplo VLAN 171

1 allow-hotplug enp0s3.171
2 iface enp0s3.171 inet static
3        address 10.88.88.2/24

PBR – Roteamento baseado em políticas


Eu particularmente uso em Accel-ppp para separar o trafego de IPs publicos
de Privados, direcionando apenas os IPs de NAT para a caixa do CGNAT. É
necessário criar uma nova tabela de rotas, irei chamar de cgnat no exemplo.

1 # echo "100 cgnat" >> /etc/iproute2/rt_tables


2 # cat /etc/iproute2/rt_tables
3 # ip route list table main

Fecho um /30 entre router e servidor e digo que todos os IPs que
100.64.0.0./10 deve sair pela tabela de rotas com o CGNAT.

1 allow-hotplug enp0s3
2 iface enp0s3 inet static
3     address 10.200.200.2/30
4     post-up ip route add default via 10.200.200.1 dev enp0s3 table cgnat
5     post-up ip rule add from 100.64.0.0/10 lookup cgnat

Blackhole
Normalmente útil em casos que você usa seu servidor como roteador. Você irá
colocar após as configurações da interface o post-up passando o prefixo ou ip
qual irá subir em blackhole

1 allow-hotplug enp0s3
2 iface enp0s3 inet static
3     address 10.33.33.2/30
4     post-up /usr/sbin/ip route add blackhole 200.200.200.128/26 metric 250 || true
Considerações finais
Sempre que editar o arquivo /etc/network/interfaces para que as configurações
sejam carregadas será necessário reiniciar seu servidor, você até pode subir a
interface com auto ao invés de allow-hotplug, mas não irei abordar aqui.

Caso você queira adicionar/remover IPs manualmente (em memória/perde ao


reiniciar) você pode usar o comando ip, segue exemplo, onde enp0s3 é o
nome da interface.
Adicionar:

1 # ip addr add 192.168.7.7/32 dev enp0s3


2 # ip -6 addr add 2001:db8:1::1/128 dev enp0s3

Visualizar:

1# ip address

Remover:

1 # ip addr del 192.168.7.7/32 dev enp0s3


2 # ip -6 addr del 2001:db8:1::1/128 dev enp0s3

Você também pode gostar