Configurando interface de Rede no Debian 9

Que o sistema operacional GNU/Linux Debian é uma das distribuições mais utilizadas no mundo e uma das mais estáveis, principalmente para servidores, não há dúvidas… há aqueles maníacos RPM que não aceitam este fato, sinto muito ;)

A um mês(junho de 2017) foi lançado o Debian 9 de codinome “Streetch” e é dedicado ao fundador do projeto, Ian Murdock, que faleceu em 28 de dezembro de 2015.

Nesta versão temos diversas novidades, tais como, a variante MySQL padrão agora é o MariaDB e finalmente o Firefox e o Thunderbird retornam ao Debian, e substituem as suas versões com as marcas removidas Iceweasel e Icedove, que estiveram presentes no repositório por mais de 10 anos.

Há alguns mitos de o sistema operacional, quando instalado em servidores com diversas interfaces de rede e ocorria um desligamento abrupto por falta de energia ou algo similar, ao iniciar não mantinha a ligação entre o nome da interface e a verdadeira interface de rede já configurada e isso acarretava em tempo de reconfiguração do sistema. Aqui defino isso como mito devido minha pequena experiência de 10 anos como analista GNU/Linux e desses em que 06 anos atuei também como professor em ensino superior com foco em disciplinas GNU/Linux nunca vi isso acontecer.

Os nomes para as interfaces de rede mudaram e em vez dos nomes habituais eth0, eth1 etc. Utilizam o novo método de atribuição de nome baseado em mais fontes de informações. Esse novo padrão de nomenclaturas utiliza números de índice do firmware/BIOS e depois tenta o número do slot da placa PCI, produzindo números como ens0 ou enp1s1 para interfaces ethernet ou wlp3s0 para interfaces Wireless wlan. Logicamente tal alteração de nomes não serão aplicados em sistemas que fizeram UpGrade da versão Jessie para a versão Stretch. Para quem utiliza sistemas operacionais Desktops como o Fedora já está habituado à essas nomenclaturas.

Para quem instalou o Debian 9 já se deparou com a realidade de que muitos pacotes(comandos) ficaram obsoletos, um dos que mais farão falta é o pacote net-tools, segue detalhes:

comandos obsoletos

 

Opinião pessoal: “Comandos tais como ifconfig, arp, route, entre tantos outros traziam interface simplificada tanto saída quanto na sintaxe do comando e não vejo com bons olhos tais pacotes/comandos ficarem obsoletos” Certamente o pacotes como o Systemd e o ip trazem muitas inovações, porém, ainda muito confusas para usuários que não costumam pesquisar ou atualizarem-se. Afinal de contas, acredito que muitos irão sentir falta dos velhos e bons “ifconfig”, “invoke-rc.d ‘pacote’ ‘ação’”.

Como um bom profissional tem que se atualizar, vamos lá… vamos conhecer um pouco mais do comando ip. Agora aqueles alunos de redes que não aprenderam “decoraram” o modelo de referência OSI irá se perguntar: “Por quê???!!!”… O Sistema operacional trata as interfaces nas camadas 2(Enlace) e 3(Rede) do modelo OSI. Para visualizar ou realizar alterações temporárias em configurações de camada de Rede na Interface utiliza-se o comando “ip”:

ip - apresenta e manipula rotas, dispositivos, políticas de roteamento e tunels.

SYNOPSIS

ip [ OPTIONS ] OBJECT { COMMAND | help }

OBJECT := { link | address | addrlabel | route | rule | neigh | ntable | tunnel | tuntap | maddress | mroute | mrule | monitor | xfrm | netns | l2tp |

tcp_metrics | token | macsec }

OPTIONS := { -V[ersion] | -h[uman-readable] | -s[tatistics] | -d[etails] | -r[esolve] | -iec | -f[amily] { inet | inet6 | ipx | dnet | link } | -4 | -6 | -I

| -D | -B | -0 | -l[oops] { maximum-addr-flush-attempts } | -o[neline] | -rc[vbuf] [size] | -t[imestamp] | -ts[hort] | -n[etns] name | -a[ll] |

-c[olor] }

EXAMPLES

ip addr

apresenta os endereços IP designados para todas as interfaces de rede.

ip neigh

apresenta a tabela de endereços MacAddress dos “Vizinhos”.

ip link set enp0s1 up

Habilita a interface enp0s1

ip link set enp0s1 down

Desabilita a interface enp0s1.

ip route

Apresenta a tabela de roteamento

 

Quando precisamos de informações e configurações da camada de enlace do modelo OSI utiliza-se o comando “ip link”:

NAME

ip link – Configurações de dispositivos de Rede.

SYNOPSIS

ip link { COMMAND | help }

ip link add [ link DEVICE ] [ name ] NAME

[ txqueuelen PACKETS ]

[ address LLADDR ] [ broadcast LLADDR ]

[ mtu MTU ] [ index IDX ]

[ numtxqueues QUEUE_COUNT ] [ numrxqueues QUEUE_COUNT ]

type TYPE [ ARGS ]

ip link delete { DEVICE | group GROUP } type TYPE [ ARGS ]

ip link set { DEVICE | group GROUP }

[ { up | down } ]

[ type ETYPE TYPE_ARGS ]

[ arp { on | off } ]

[ dynamic { on | off } ]

[ multicast { on | off } ]

[ allmulticast { on | off } ]

[ promisc { on | off } ]

[ protodown { on | off } ]

[ trailers { on | off } ]

[ txqueuelen PACKETS ]

[ name NEWNAME ]

[ address LLADDR ]

[ broadcast LLADDR ]

[ mtu MTU ]

[ netns { PID | NETNSNAME } ]

[ link-netnsid ID ]

[ alias NAME ]

[ vf NUM [ mac LLADDR ]

Existem várias outras opções e possibilidades do uso do “ip link”, porém o intuito aqui não é mostrar a página do manual.

EXAMPLES

ip link show

Apresenta o estado de todas as interfaces no sistema.

ip link show type bridge

apresenta as interfaces do tipo bridge.

ip link add link eth0 name eth0.10 type vlan id 10

cria uma nova interface VLAN eth0.10 na interface eth0.

ip link delete dev eth0.10

Remove uma interface VLAN.

Assim que instalei o Debian 9 demorei para me habituar com todas as novidades e vi em vários fóruns que não fui o único, para configurar IP estático na interface edite o arquivo:

/etc/network/interfaces

==========================================================

# The primary Network Interface

allow hot-plug enp0s1

iface enp0s1 inet static

address 192.168.200.10

netmask 255.255.255.0

broadcast 192.168.200.255

network 192.168.200.0

gateway 192.168.200.10

==========================================================

Usuários Debian após essa configuração irão correr logo para fazer o bom e velho:

invoke-rc.d networking restart

Usuários já habituados ao systemctl irão fazer:

systemctl restart networking.service

Usuários kiddies criados em tutoriais em blogs “tais como esse kkkkkkkk” irão fazer:

/etc/init.d/networking restart

E todos terão a mesma saída quando visualizarem as configurações conrrentes com:

ip addr show enp0s1

Ou seja, nada foi feito! Então aqueles mais apressados irão reiniciar o servidor e terão ativadas as configurações que realizaram, porém na grande maioria das vezes não é possível reiniciar um servidor. Então vai a dica:

utilize o comando:

ifdown enp0s1

desabilitando a interface.

Configure o aquivo “/etc/network/interfaces” como demonstrado acima e logo após:

ifup enp0s1

habilitando novamente a interface de rede e relendo o arquivo de configuração.

Pronto! Acabou essa brincadeira de ficar reiniciando servidor ou desesperado por não funcionar os comandos habituais.

E para aqueles que desejam verificar quantidades pacotes recebidos ou transferidos que deram erro, foram descartados ou coisas do gênero utilize o seguinte comando:

ip -s addr

 

Bibliografia

https://www.debian.org/News/2017/20170617

https://www.debian.org/News/2017/20170617.pt.html

https://servidordebian.org/pt/stretch/config/network/start

https://wiki.linuxfoundation.org/networking/net-tools

http://br-linux.org/2016/01/deprecated-ifconfig-route-e-outros-comandos-classicos-de-rede-no-linux-que-tem-sucessores-que-voce-precisa-conhecer.html

https://imasters.com.br/infra/linux/desbravando-o-comando-ip/?trace=1519021197&source=single

http://sejalivre.org/desbravando-o-comando-ip/

https://ronaldoafonso.wordpress.com/2011/04/28/o-comando-ip/


Imprimir  
Adicionar comentário