<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Arquivos Administração de Rede - Remontti</title>
	<atom:link href="https://blog.remontti.com.br/tag/administracao-de-rede/feed" rel="self" type="application/rss+xml" />
	<link>https://blog.remontti.com.br/tag/administracao-de-rede</link>
	<description>rudimar@remontti</description>
	<lastBuildDate>Tue, 24 Mar 2026 13:00:23 +0000</lastBuildDate>
	<language>pt-BR</language>
	<sy:updatePeriod>
	hourly	</sy:updatePeriod>
	<sy:updateFrequency>
	1	</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://blog.remontti.com.br/wp-content/uploads/2024/09/icone-rr-80x80.png</url>
	<title>Arquivos Administração de Rede - Remontti</title>
	<link>https://blog.remontti.com.br/tag/administracao-de-rede</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title>Guia passo a passo: Instalando NFDUMP, NFSEN e NFSEN-NG para Análise de Fluxo de Rede no Debian 12 Bookworm</title>
		<link>https://blog.remontti.com.br/7610</link>
					<comments>https://blog.remontti.com.br/7610#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Tue, 11 Jul 2023 22:13:53 +0000</pubDate>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Administração de Rede]]></category>
		<category><![CDATA[Análise]]></category>
		<category><![CDATA[Análise de Segurança]]></category>
		<category><![CDATA[Análise de Tráfego]]></category>
		<category><![CDATA[bookworm]]></category>
		<category><![CDATA[Debian 12]]></category>
		<category><![CDATA[Debian 12 Bookworm]]></category>
		<category><![CDATA[Debian12]]></category>
		<category><![CDATA[Ferramentas de Análise]]></category>
		<category><![CDATA[Ferramentas de Rede]]></category>
		<category><![CDATA[Fluxo de Rede]]></category>
		<category><![CDATA[Gerenciamento de Tráfego]]></category>
		<category><![CDATA[GuiaPassoAPasso]]></category>
		<category><![CDATA[instalaçao]]></category>
		<category><![CDATA[monitoramento]]></category>
		<category><![CDATA[Monitoramento de Tráfego]]></category>
		<category><![CDATA[NFDUMP]]></category>
		<category><![CDATA[NFSEN]]></category>
		<category><![CDATA[NFSEN-NG]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[Segurança]]></category>
		<category><![CDATA[software livre]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=7610</guid>

					<description><![CDATA[<p>Neste tutorial você adquirirá conhecimentos e habilidades relacionadas à análise de fluxo de rede bem como a área de segurança. Você poderá examinar os dados de fluxo de rede capturados e identificar padrões, tendências&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/7610">Guia passo a passo: Instalando NFDUMP, NFSEN e NFSEN-NG para Análise de Fluxo de Rede no Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img fetchpriority="high" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm.jpg" alt="" width="720" height="340" class="alignnone size-full wp-image-7619" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm.jpg 720w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm-300x142.jpg 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-nfsen-nfsen-ng-nfcap-debian-12-bokworm-520x245.jpg 520w" sizes="(max-width: 720px) 100vw, 720px" /></p>
<p>Neste tutorial você adquirirá conhecimentos e habilidades relacionadas à análise de fluxo de rede bem como a área de segurança. Você poderá examinar os dados de fluxo de rede capturados e identificar padrões, tendências e anomalias no tráfego de rede. Isso pode ajudar a detectar atividades suspeitas, como ataques cibernéticos, tráfego malicioso ou congestionamentos.</p>
<h4>Distribuição Utilizada</h4>
<p><strong><a href="https://blog.remontti.com.br/7236" rel="noopener" target="_blank">Debian 12 bookworm (Instalação Limpa)</a></strong></p>
<h4>Requisitos de hardware</h4>
<p>Para o que vamos utilizar aqui não precisamos nada tão agressivo, porém o armazenamento vai depender muito de quanto tempo você for deixar salvo, em média você pode colocar 2GB a 4GB (por source) de dados por dias (mas isso é bem relativo), em questão de CPU e memoria 2 CPU e 2GB de memória já da conta, mas se puder coloca mais melhor para processar os dados.</p>
<h4>Pacotes Requeridos</h4>
<pre class="remontti-code"># apt install \
 curl wget unzip man-db tcpdump htop tree dialog git \
 build-essential autoconf pkg-config flex byacc bison \
 php php-dev apache2 libapache2-mod-php autogen \
 libtool librrd-dev libbz2-dev libpcap-dev rrdtool \
 libcurl4-openssl-dev librrds-perl libsocket6-perl \
 librrdp-perl libio-socket-inet6-perl libmailtools-perl \
 libnet-telnet-perl libnet-whois-ip-perl libnet-snmp-perl \
 libio-socket-ssl-perl libgd-perl git -y</pre>
<p>Crie o diretório onde iremos baixar nossos arquivos extras</p>
<pre class="remontti-code"># mkdir /root/nf</pre>
<h3>NFDUMP</h3>
<p><strong><a href="https://github.com/phaag/nfdump" rel="noopener" target="_blank">NFDUMP</a></strong> é um conjunto de ferramentas para coletar e processar dados netflow/ipfix e sflow, enviados de dispositivos compatíveis com netflow/sflow.</p>
<p>O conjunto de ferramentas contém vários coletores para coletar dados de fluxo:</p>
<ul>
<li>nfcapd suporta netflow v1, v5/v7, v9 e IPFIX</li>
<li>sfcapd suporta sflow.</li>
<li>nfpcapd converte dados pcap lidos de uma interface de host ou de arquivos pcap.</li>
</ul>
<p>O nfdump possui um filtro de fluxo muito poderoso para processar fluxos. A sintaxe do filtro é muito semelhante ao tcpdump, mas adaptada e estendida para filtragem de fluxo. Um filtro de fluxo também pode conter matrizes de muitos milhares de endereços IP, etc., para pesquisar registros específicos.</p>
<p>O nfdump pode agregar fluxos de acordo com um número de elementos definido pelo usuário. Isso mascara certos elementos e permite somar registros de fluxo correspondentes aos mesmos valores.</p>
<p>A combinação de filtragem e agregação de fluxo como entrada para qualquer estatística de fluxo permite processamento de fluxo complexo. Os dados de fluxo pré-filtrados e agregados também podem ser gravados de volta em um arquivo de fluxo binário, que novamente pode ser processado com nfdump</p>
<p>O nfdump pode enriquecer a listagem de fluxos com informações de localização geográfica e informações de AS, a menos que as informações de AS já estejam disponíveis nos registros de fluxo. Os endereços IP podem ser marcados com um código de país de duas letras ou com uma etiqueta de localização mais longa contendo a região geográfica, o país e a cidade. A localização geográfica e as informações AS são recuperadas do banco de dados geoDB opcional, criado pelo programa geolookup das ferramentas nfdump. geolookup usa o banco de dados Maxmind GeoDB ou GeoLite2 para criar um banco de dados de pesquisa binária para nfdump.</p>
<p><strong>Instalação:</strong><br />
O nfdump até se encontra no repositório do Debian 12 (na versão 1.7.1) como um serviço de coleta, como a ideia é mais voltada a depois utilizar o nfsen, irei baixar a ultima versão que inclusive tem alguns recursos interessantes que você pode se aprofundar posteriormente.  </p>
<pre class="remontti-code"># mkdir /root/nf
# cd /root/nf
# git clone https://github.com/phaag/nfdump.git
# cd nfdump
# ./autogen.sh</pre>
<p>Na compilação podemos ativar algumas features adicionais, para ver mais sobre use o comando:</p>
<pre class="remontti-code"># ./configure --help</pre>
<p>Estarei instalando as seguintes: (&#8211;enable-influxdb &#8211;enable-maxmind opcional)</p>
<pre class="remontti-code"># ./configure --enable-nfprofile --enable-nftrack --enable-jnat --enable-influxdb --enable-maxmind 
# make ; make install</pre>
<p>Atualize o cache das bibliotecas dinâmicas.</p>
<pre class="remontti-code"># ldconfig</pre>
<p>Iremos ter uma lista de novos binários em /usr/local/bin/</p>
<pre class="remontti-code-plain">├── geolookup
├── nfanon
├── nfcapd
├── nfdump
├── nfexpire
├── nfprofile
├── nfreplay
├── nftrack
└── updateGeoDB.sh</pre>
<p>Configure seu roteador para enviar dados de netflow para porta 2055, e com o comando a baixo vamos analisar se os mesmo estão chegando em nosso servidor e capturados pelo nfcap.</p>
<pre class="remontti-code"># nfcapd -E -p 2055 -w /tmp/</pre>
<pre class="remontti-code-plain">
Verbose log level: 3
Add flow source: ident: none, IP: any IP, flowdir: /tmp
Bound to IPv4 host/IP: any, Port: 2055
Init v1
Init v5/v7: Default sampling: 1
Init v9: Max number of v9 tags enabled: 105, default sampling: 1
Init IPFIX: Max number of ipfix tags enabled: 88, default sampling: 1
Startup nfcapd.
Process_v9: New v9 exporter: SysID: 1, Domain: 2166325505, IP: 10.10.10.255
Process_v9: New v9 exporter: SysID: 2, Domain: 18841857, IP: 10.10.10.255
^CFile Block Header: type: 3, size: 64, NumRecords: 2
Ident: &#039;none&#039; Flows: 0, Packets: 0, Bytes: 0, Sequence Errors: 0, Bad Packets: 0
Terminating nfcapd.
</pre>
<p><strong>Ctrl+C</strong> Para cancelar (Não precisa deixar em execução, deixe apenas alguns segundos para ver se esta chegando os flows)</p>
<pre class="remontti-code"># ls -lh /tmp/nfcapd.*</pre>
<p>Se tudo ocorreu bem você ira ter uma arquivo da captura com o nome nfcapd.AAAAMMDDHHMM [ANO MÊS DIA HORA MINUTO]</p>
<pre class="remontti-code-plain">-rw-r--r-- 1 root root 149K jul 11 14:54 /tmp/nfcapd.202307111450</pre>
<p>Nfdump é muito poderoso, para dar apenas uma provinha do que estamos falando testes os comandos a baixo para visualizar as saídas. O ultimo comando você vai gostar!</p>
<pre class="remontti-code"># nfdump -r /tmp/nfcapd.202307111450
# nfdump -r /tmp/nfcapd.202307111450 dst ip 8.8.8.8
# nfdump -r /tmp/nfcapd.202307111450 dst ip 8.8.8.8 and dst port 53
# nfdump -r /tmp/nfcapd.202307111500 dst port 80 or dst port 443 -s srcip/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s record/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s dstip/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s dstas/bytes
# nfdump -r /tmp/nfcapd.202307111450 -s dstas/bytes
# nfdump -r /tmp/nfcapd.202307111450 &#039;net 200.200.200.0/22 and (dst port 80 or dst port 443)&#039; -s dstas/bytes -n 20</pre>
<p>Para mais informações de como utiliza-lo use comando <strong>man</strong> para ver o manual do nfdump.</p>
<pre class="remontti-code"># man nfdump</pre>
<p>Mas não se preocupe ainda em aprender todas as possibilidades, para isso vamos aprender agora utilizar duas ferramentar que poderão ser uteis para você. Mas ler <a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/NFDUMP.txt" rel="noopener" target="_blank">esse manual</a> não vai cair o braço. <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<h3>NFSEN</h3>
<p>O <a href="https://github.com/phaag/nfsen" rel="noopener" target="_blank">NfSen</a> é uma ferramenta de código aberto para análise e visualização de dados de fluxo de rede. Com uma interface web intuitiva (estilo anos 90 <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f602.png" alt="😂" class="wp-smiley" style="height: 1em; max-height: 1em;" />), ele coleta registros de fluxo de diferentes dispositivos e os apresenta de forma compreensível. Além disso, oferece recursos avançados, como detecção de ataques e armazenamento de dados de fluxo histórico, tornando-o uma opção popular para monitoramento e solução de problemas em redes de grande porte.</p>
<pre class="remontti-code"># cd /root/nf
# wget https://github.com/phaag/nfsen/archive/v1.3.9.tar.gz
# tar -vxzf v1.3.9.tar.gz
# cd nfsen-1.3.9
# sed -i &#039;s/\$USER\s*=\s*&quot;netflow&quot;;/\$USER    = &quot;www-data&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$WWWUSER\s*=\s*&quot;www&quot;;/\$WWWUSER  = &quot;www-data&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$WWWGROUP\s*=\s*&quot;www&quot;;/\$WWWGROUP = &quot;www-data&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$HTMLDIR\s*=\s*&quot;\/var\/www\/nfsen\/&quot;;/\$HTMLDIR    = &quot;\/var\/www\/html\/nfsen\/&quot;;/&#039; etc/nfsen-dist.conf
# sed -i &#039;s/\$BUFFLEN = 200000;/\$BUFFLEN = 1073741824;/&#039; etc/nfsen-dist.conf</pre>
<p>Vamos definir nosso enviadores de fluxos (sim você pode enviar de vários locais)</p>
<pre class="remontti-code"># vim etc/nfsen-dist.conf</pre>
<p>Procure pela seguintes linhas:</p>
<pre class="remontti-code-plain">
%sources = (
    &#039;Borda&#039;        =&gt; { &#039;port&#039; =&gt; &#039;2055&#039;, &#039;col&#039; =&gt; &#039;#0D47A1&#039;, &#039;type&#039; =&gt; &#039;netflow&#039; },
    &#039;Cgnat&#039;        =&gt; { &#039;port&#039; =&gt; &#039;3055&#039;, &#039;col&#039; =&gt; &#039;#B71C1C&#039;, &#039;type&#039; =&gt; &#039;netflow&#039; },
);
</pre>
<p>No exemplo acima estarei incluindo analise do meu <strong>Cgnat</strong> para fins de investigação de problemas <strong>(Mas se prepare que os arquivos capturados serão gigantes</strong>). Vale lembrar que para <strong>cada source a porta não pode ser a mesma</strong>!</p>
<p>Caso você queira adicionar ou remover um novo source edite o arquivo <strong>/data/nfsen/etc/nfsen.conf</strong> e rode o comando <strong>/data/nfsen/bin/nfsen reconfig</strong></p>
<p>Vamos criar o diretório /data/nfsen onde ficarão nossos dados do sistema.</p>
<pre class="remontti-code"># mkdir -p /data/nfsen
# ./install.pl etc/nfsen-dist.conf</pre>
<p>De um ENTER ao perguntar:  Perl to use: [/usr/bin/perl]</p>
<pre class="remontti-code-plain">
  Check for required Perl modules: All modules found.
  Setup NfSen:
  Version: 1.3.9: install.pl 2022-12-19

  Perl to use: [/usr/bin/perl]  [ENTER]
  Setup php and html files.
  mkdir /var/www/html/nfsen/

  Copy NfSen dirs etc bin libexec plugins doc ...
  Copy config file &#039;/etc/nfsen.conf&#039;

  In directory: /data/nfsen/bin ...
  Update script: nfsen
...
...</pre>
<p>Vamos ajustar o <a href="https://www.php.net/manual/pt_BR/timezones.america.php" rel="noopener" target="_blank">timezone</a> do PHP</p>
<pre class="remontti-code"># vim /etc/php/8.2/apache2/php.ini</pre>
<p>Localize e altere: (remova &#8220;;&#8221; do início para descomentar)</p>
<pre class="remontti-code-plain">date.timezone = &#039;America/Sao_Paulo&#039;</pre>
<pre class="remontti-code"># vim /etc/php/8.2/cli/php.ini</pre>
<p>Localize e altere:</p>
<pre class="remontti-code-plain">date.timezone = &#039;America/Sao_Paulo&#039;</pre>
<p>Reinicie p apache</p>
<pre class="remontti-code"># systemctl restart apache2</pre>
<p>Agora vamos criar um serviço no systemd para nosso amigo nfsen </p>
<pre class="remontti-code"># ln -s /data/nfsen/bin/nfsen /etc/init.d/nfsen</pre>
<p>Crie o arquivo:</p>
<pre class="remontti-code"># vim /lib/systemd/system/nfsen.service</pre>
<p>Adicione:</p>
<pre class="remontti-code-plain">[Unit]
Description=nfsen
After=network-online.target

[Service]
Type=simple
#Type=oneshot
RemainAfterExit=yes
ExecStart=/data/nfsen/bin/nfsen start
ExecStop=/data/nfsen/bin/nfsen stop
ExecReload=/data/nfsen/bin/nfsen restart
 
[Install]
WantedBy=multi-user.target</pre>
<p>Recarregue o daemon e vamos por para rodar </p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable nfsen
# systemctl start nfsen
# systemctl status nfsen</pre>
<p>Verificar logs</p>
<pre class="remontti-code"># journalctl -u nfsen 
# journalctl -u nfsen -p err</pre>
<p>Vamos ver se as portas estão na escuta</p>
<pre class="remontti-code"># ss -putan | grep nfcapd</pre>
<pre class="remontti-code-plain">
udp   UNCONN 0      0     0.0.0.0:2055     0.0.0.0:*     users:((&quot;nfcapd&quot;,pid=20756,fd=3))
udp   UNCONN 0      0     0.0.0.0:3055     0.0.0.0:*     users:((&quot;nfcapd&quot;,pid=20752,fd=3))</pre>
<p>Se quiser testar se algo esta chegando o tcpdump pode ser uma boa escolha também.</p>
<pre class="remontti-code"># tcpdump -i enp0s3 -n udp port 2055 -T cnfp -c 10
# tcpdump -i enp0s3 -n udp port 3055 -T cnfp -c 10
</pre>
<p><strong>Vamos entender como os dados vão ser armazenados</strong><br />
Em /data/nfsen/profiles-data/live/ todos nossos sources terão uma pasta, outra pasta com ano, mes, dia. Cada arquivos criado tem um intervalo de 5 minutos. Aguarde uns 15min e rode o seguinte comando:</p>
<pre class="remontti-code"># tree /data/nfsen/profiles-data/live/</pre>
<p>Iremos ver que alguns arquivos e diretórios já foram criados. </p>
<pre class="remontti-code-plain">
├── Borda
│   ├── 2023
│   │   └── 07
│   │       └── 11
│   │           ├── nfcapd.202307111600
│   │           ├── nfcapd.202307111605
│   │           ├── nfcapd.202307111610
│   │           ├── nfcapd.202307111615
│   │           └── nfcapd.202307111620
│   └── nfcapd.current.29124
└── Cgnat
    ├── 2023
    │   └── 07
    │       └── 11
    │           ├── nfcapd.202307111600
    │           ├── nfcapd.202307111605
    │           ├── nfcapd.202307111610
    │           ├── nfcapd.202307111615
    │           └── nfcapd.202307111620
    └── nfcapd.current.29128

9 directories, 12 files
</pre>
<p>Projeto não tem uma index então para não precisar informar na url nfsen.php crie um atalho apontando para index.php</p>
<pre class="remontti-code"># ln -s /var/www/html/nfsen/nfsen.php /var/www/html/nfsen/index.php</pre>
<p>Agora acesse: <strong>http://__endereco_servidor/nfsen/</strong><br />
E temos nossa bela interface anos 90! Não me preocupo com isso, a ferramenta é o que importa. Recomendo você dar uma olha na <a href="https://nfsen.sourceforge.net/#mozTocId391879" rel="noopener" target="_blank">documentação</a>.</p>
<h3>NFSEN-NG</h3>
<p>O projeto <a href="https://github.com/mbolli/nfsen-ng" rel="noopener" target="_blank">NfSen-NG</a> é uma implementação melhorada do NfSen, que oferece recursos avançados para coleta, análise e visualização de dados de tráfego de rede. Com sua interface web intuitiva e poderosa, o &#8220;nfsen-ng&#8221; permite aos usuários monitorar e analisar o tráfego em tempo real, realizar pesquisas detalhadas em dados históricos e criar relatórios personalizados, facilitando a detecção de problemas, a análise de desempenho e a tomada de decisões relacionadas à rede.<br />
<img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12.png" alt="" width="1199" height="778" class="alignnone size-full wp-image-7613" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12.png 1199w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-300x195.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-1024x664.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-768x498.png 768w" sizes="(max-width: 1199px) 100vw, 1199px" /></p>
<pre class="remontti-code"># cd /var/www/html
# git clone https://github.com/mbolli/nfsen-ng /var/www/html/nfsen-ng
# cd /var/www/html/nfsen-ng/
# chmod +x backend/cli.php
# cp backend/settings/settings.php.dist backend/settings/settings.php
# mkdir /var/www/html/nfsen-ng/backend/datasources/data/
# chown -R www-data: /var/www/html/nfsen-ng/</pre>
<p>Vamos fazer alguns ajustes para ler nossa mesma base de dados do nfsen.</p>
<pre class="remontti-code"># vim backend/settings/settings.php</pre>
<p>Localize os sources.</p>
<pre class="remontti-code-plain">        &#039;sources&#039; =&gt; array(
            &#039;source1&#039;, &#039;source2&#039;,
        ),</pre>
<p>Informe os seus:</p>
<pre class="remontti-code-plain">        &#039;sources&#039; =&gt; array(
            &#039;Borda&#039;, &#039;Cgnat&#039;,
        ),</pre>
<p>Se desejar incluir algumas porta para analisar os gráficos.</p>
<pre class="remontti-code-plain">
        &#039;ports&#039; =&gt; array(
            80, 22, 53,
        ),</pre>
<p>No meu vou alterar para:</p>
<pre class="remontti-code-plain">        &#039;ports&#039; =&gt; array(
            0, 22, 53, 80, 443,
        ),</pre>
<p>Localize e altere:</p>
<pre class="remontti-code-plain">        &#039;binary&#039; =&gt; &#039;/usr/bin/nfdump&#039;,
        &#039;profiles-data&#039; =&gt; &#039;/var/nfdump/profiles-data&#039;,</pre>
<p>Por</p>
<pre class="remontti-code-plain">        &#039;binary&#039; =&gt; &#039;/usr/local/bin/nfdump&#039;,
        &#039;profiles-data&#039; =&gt; &#039;/data/nfsen/profiles-data&#039;,</pre>
<p>Enable apache modules</p>
<pre class="remontti-code"># a2enmod rewrite expires</pre>
<p>Configure a biblioteca RRD para o PHP</p>
<pre class="remontti-code"># pecl install rrd
# echo &quot;extension=rrd.so&quot; &gt; /etc/php/8.2/mods-available/rrd.ini
# phpenmod rrd</pre>
<p>Configure virtual host para ler o .htaccess</p>
<pre class="remontti-code"># vim /etc/apache2/sites-available/000-default.conf</pre>
<p>Deve ficar assim:</p>
<pre class="remontti-code-plain">&lt;VirtualHost *:80&gt;
    ServerAdmin webmaster@localhost
    DocumentRoot /var/www/html

    &lt;Directory /var/www/html/&gt;
        Options FollowSymLinks Indexes
        AllowOverride All
    &lt;/Directory&gt;

    ErrorLog ${APACHE_LOG_DIR}/error.log
    CustomLog ${APACHE_LOG_DIR}/access.log combined
&lt;/VirtualHost&gt;</pre>
<p>Reinicie o serviço web</p>
<pre class="remontti-code"># systemctl restart apache2</pre>
<p>Vamos criar um &#8220;serviço&#8221; no systemd para iniciar o /var/www/html/nfsen-ng/backend/cli.php. </p>
<pre class="remontti-code"># vim /lib/systemd/system/nfsen-ng.service</pre>
<p>Adicione?</p>
<pre class="remontti-code-plain">[Unit]
Description=nfsen-ng
After=network-online.target
 
[Service]
Type=simple
RemainAfterExit=yes
ExecStart=su - www-data --shell=/bin/bash -c &#039;/var/www/html/nfsen-ng/backend/cli.php start&#039;
ExecStop=su - www-data --shell=/bin/bash -c &#039;/var/www/html/nfsen-ng/backend/cli.php stop&#039;
 
[Install]
WantedBy=multi-user.target</pre>
<p>Recarregue o daemon e vamos por para rodar</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable nfsen-ng
# systemctl start nfsen-ng
# systemctl status nfsen-ng</pre>
<p>Acesse agora: <strong>http://__endereco__/nfsen-ng/</strong><br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph.png" data-rel="lightbox-gallery-tg18aNAr" data-rl_title="" data-rl_caption="" title=""><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph.png" alt="" width="2560" height="967" class="alignnone size-full wp-image-7614" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph.png 2560w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-300x113.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-1024x387.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-768x290.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-1536x580.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-2048x774.png 2048w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-graph-1320x500.png 1320w" sizes="(max-width: 2560px) 100vw, 2560px" /></a></p>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat.png" data-rel="lightbox-gallery-tg18aNAr" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat.png" alt="" width="1920" height="1059" class="alignnone size-full wp-image-7615" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-300x165.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-1024x565.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-768x424.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat-1536x847.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a></p>
<p>Utilizando um filtro Ex: &#8220;dst as 15169 OR dst as 2906 OR dst as 32934&#8221; obtém um informações com destino aos 3 AS.<br />
<a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2.png" data-rel="lightbox-gallery-tg18aNAr" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2.png" alt="" width="1920" height="992" class="alignnone size-full wp-image-7616" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2.png 1920w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-300x155.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-1024x529.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-768x397.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfsen-ng-debian-12-stat2-1536x794.png 1536w" sizes="auto, (max-width: 1920px) 100vw, 1920px" /></a><br />
Se notar na parte verde temos o comando executado no terminal</p>
<pre class="remontti-code"># nfdump -M &#039;/data/nfsen/profiles-data/live/Borda&#039; -R &#039;2023/07/11/nfcapd.202307111605:2023/07/11/nfcapd.202307111730&#039; -s &#039;dstas/pps&#039; &#039;dst as 15169 OR dst as 2906 OR dst as 32934&#039;</pre>
<p><a href="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix.png" data-rel="lightbox-gallery-tg18aNAr" data-rl_title="" data-rl_caption="" title=""><img loading="lazy" decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix.png" alt="" width="2292" height="316" class="alignnone size-full wp-image-7617" srcset="https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix.png 2292w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-300x41.png 300w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-1024x141.png 1024w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-768x106.png 768w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-1536x212.png 1536w, https://blog.remontti.com.br/wp-content/uploads/2023/07/nfdump-google-facebook-netflix-2048x282.png 2048w" sizes="auto, (max-width: 2292px) 100vw, 2292px" /></a><br />
Pode ser um bom &#8220;meio de você aprender os comandos&#8221;. </p>
<p>Algo legal do NfSen-Ng é que ele tem uma API: <strong>http://__endereco__//nfsen-ng/api/config</strong> de uma lida em <a href="https://github.com/mbolli/nfsen-ng/blob/master/README.md" rel="noopener" target="_blank">https://github.com/mbolli/nfsen-ng/blob/master/README.md</a> como utiliza, com um pouco de imaginação você pode fazer algumas coisas bem legais.</p>
<h4>Script para ir apagando arquivos mais antigos</h4>
<pre class="remontti-code"># mkdir /root/scripts/
# vim /root/scripts/faxina_nf.sh</pre>
<p>Adicione (ajuste os dias para realidade do seu disco)</p>
<pre class="remontti-code-plain">#!/bin/bash
  
# Defina o diretório do NFSen
nf_dir=&quot;/data/nfsen/profiles-data/live/&quot;

#Define o número de dias a ser removido
ref_date=$(date -d &#039;60 days ago&#039; +%Y%m%d)

# Ativar o modo de depuração
debug=false

# Percorre os diretórios e exclui os arquivos antigos
find &quot;$nf_dir&quot; -type f -name &#039;nfcapd.*&#039; | while read -r file; do
    # Obtém a data do arquivo em vez do diretório
    file_date=$(date -r &quot;$file&quot; +%Y%m%d)
    if [[ &quot;$file_date&quot; -lt &quot;$ref_date&quot; ]]; then
        if [[ &quot;$debug&quot; = true ]]; then
            echo &quot;$(date -r &quot;$file&quot;) - $file excluído&quot;
        fi
        rm &quot;$file&quot;
    fi
done</pre>
<p>Agende o script para roda todos os dias as 4h da manhã</p>
<pre class="remontti-code"># crontab -e</pre>
<p>Adcione</p>
<pre class="remontti-code-plain">
# m h  dom mon dow   command
# Apaga coletas
00 04  *   *   *     /root/scripts/faxina_nf.sh</pre>
<p>Reinicie o cron</p>
<pre class="remontti-code"># systemctl  restart cron</pre>
<p>Para verificar o tamanho do diretório use o comando</p>
<pre class="remontti-code"># du -sh /data/nfsen/profiles-data/live/</pre>
<p>E para ver o disco use:</p>
<pre class="remontti-code"># df -h</pre>
<p>Gostou e quer me ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" rel="noopener noreferrer" target="_blank">clique aqui.</a></p>
<p>Abraço!</p>
<p><strong>Fonte:</strong><br />
<a href="https://github.com/phaag/nfdump" rel="noopener" target="_blank">https://github.com/phaag/nfdump</a><br />
<a href="https://github.com/phaag/nfsen" rel="noopener" target="_blank">https://github.com/phaag/nfsen</a><br />
<a href="https://nfsen.sourceforge.net/#mozTocId391879" rel="noopener" target="_blank">https://nfsen.sourceforge.net/</a><br />
<a href="https://github.com/mbolli/nfsen-ng" rel="noopener" target="_blank">https://github.com/mbolli/nfsen-ng</a><br />
<a href="https://github.com/phaag/nfinflux" rel="noopener" target="_blank">https://github.com/phaag/nfinflux</a><br />
<a href="https://github.com/phaag/nfexporter" rel="noopener" target="_blank">https://github.com/phaag/nfexporter</a><br />
<a href="https://github.com/phaag/go-nfdump" rel="noopener" target="_blank">https://github.com/phaag/go-nfdump</a></p>
<p>O post <a href="https://blog.remontti.com.br/7610">Guia passo a passo: Instalando NFDUMP, NFSEN e NFSEN-NG para Análise de Fluxo de Rede no Debian 12 Bookworm</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/7610/feed</wfw:commentRss>
			<slash:comments>29</slash:comments>
		
		
			</item>
		<item>
		<title>Configurando interface de rede no Debian 10/11/12/13</title>
		<link>https://blog.remontti.com.br/5848</link>
					<comments>https://blog.remontti.com.br/5848#comments</comments>
		
		<dc:creator><![CDATA[Rudimar Remontti]]></dc:creator>
		<pubDate>Sat, 18 Sep 2021 20:14:42 +0000</pubDate>
				<category><![CDATA[Dicas]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mikrotik]]></category>
		<category><![CDATA[Tutoriais]]></category>
		<category><![CDATA[Active-backup]]></category>
		<category><![CDATA[Administração de Rede]]></category>
		<category><![CDATA[Administração de Sistemas]]></category>
		<category><![CDATA[Administração de Sistemas Linux]]></category>
		<category><![CDATA[Agregação de Portas]]></category>
		<category><![CDATA[Alta Disponibilidade]]></category>
		<category><![CDATA[Balance-alb]]></category>
		<category><![CDATA[Balance-rr]]></category>
		<category><![CDATA[Balance-tlb]]></category>
		<category><![CDATA[Balance-xor]]></category>
		<category><![CDATA[Bonding]]></category>
		<category><![CDATA[Bullseye]]></category>
		<category><![CDATA[buster]]></category>
		<category><![CDATA[CLI Linux]]></category>
		<category><![CDATA[configuração de rede]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Ethernet]]></category>
		<category><![CDATA[Gerenciamento de Servidor]]></category>
		<category><![CDATA[ifenslave]]></category>
		<category><![CDATA[LACP]]></category>
		<category><![CDATA[Linux Networking]]></category>
		<category><![CDATA[Otimização de Rede]]></category>
		<category><![CDATA[placa]]></category>
		<category><![CDATA[Protocolos de Rede]]></category>
		<category><![CDATA[rede]]></category>
		<category><![CDATA[Redundância de Rede]]></category>
		<category><![CDATA[routeros]]></category>
		<category><![CDATA[Segurança de Rede]]></category>
		<category><![CDATA[Soluções de Networking]]></category>
		<category><![CDATA[Stretch]]></category>
		<guid isPermaLink="false">https://blog.remontti.com.br/?p=5848</guid>

					<description><![CDATA[<p>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ê&#46;&#46;&#46;</p>
<p>O post <a href="https://blog.remontti.com.br/5848">Configurando interface de rede no Debian 10/11/12/13</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></description>
										<content:encoded><![CDATA[<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-7830" src="https://blog.remontti.com.br/wp-content/uploads/2021/09/debian_network_config.webp" alt="" width="1792" height="1024" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/09/debian_network_config.webp 1792w, https://blog.remontti.com.br/wp-content/uploads/2021/09/debian_network_config-300x171.webp 300w, https://blog.remontti.com.br/wp-content/uploads/2021/09/debian_network_config-1024x585.webp 1024w, https://blog.remontti.com.br/wp-content/uploads/2021/09/debian_network_config-768x439.webp 768w, https://blog.remontti.com.br/wp-content/uploads/2021/09/debian_network_config-1536x878.webp 1536w" sizes="auto, (max-width: 1792px) 100vw, 1792px" /></p>
<p>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.</p>
<p>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 &#8220;artigo&#8221; meio que tutorial.</p>
<p>No Debian você pode configurar os endereços IPs bem como algumas regras no arquivo <strong>/etc/network/interfaces</strong>, irei levar como base uma instalação recém-feita:</p>
<p>&#8211; <a href="https://blog.remontti.com.br/8267" target="_blank" rel="noopener">Instalação do Debian 13 Trixie</a><br />
&#8211; <a href="https://blog.remontti.com.br/7236" target="_blank" rel="noopener">Instalação do Debian 12 Bookworm</a><br />
&#8211; <a href="https://blog.remontti.com.br/5792" target="_blank" rel="noopener">Instalação do Debian 11 Bullseye</a><br />
&#8211; <a href="https://blog.remontti.com.br/2966" target="_blank" rel="noopener">Instalação do Debian 10 Buster</a></p>
<p>Irei usar o editor nano que é o que já vem instalado, mas você pode usar o editor de sua escolha.</p>
<pre class="remontti-code"># nano /etc/network/interfaces</pre>
<p>Se em sua instalação você informou o endereço IPv4 seu arquivo será algo como este, ressaltando que <strong>ens18</strong> é o nome da interface, e ela pode ser outra.</p>
<pre class="remontti-code"># This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens18
iface ens18 inet static
        address 192.168.87.3/24
        gateway 192.168.87.1
        # dns-* options are implemented by the resolvconf package, if installed
        dns-nameservers 1.1.1.1 8.8.8.8
</pre>
<h4>Alterar DNS</h4>
<p>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 <strong>/etc/resolv.conf </strong></p>
<pre class="remontti-code"># nano /etc/resolv.conf</pre>
<pre class="remontti-code">nameserver 1.1.1.1
nameserver 1.0.0.1
nameserver 2606:4700:4700::1111
nameserver 2606:4700:4700::1001</pre>
<p>Se sua instalação foi feita com DHCP ativo, sua configuração será:</p>
<pre class="remontti-code"># This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

# The primary network interface
allow-hotplug ens18
iface ens18 inet dhcp</pre>
<h3>E ai, o que queremos ?</h3>
<p>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? <strong>NÃO!</strong>. 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>Em terra de cego, quem tem um olho é rei?</em></p>
<p>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&#8230; Sempre que dou uma consultoria essa é a primeira coisa faço, &#8220;sento&#8221; 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.</p>
<p>Outro grande erro em servidores é o <strong>NAT mal aplicado</strong>! 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!</p>
<p>É 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. <strong>Então não leve ao pé da letra! Estou tentando lhe dizer o que é o melhor a ser feito!</strong></p>
<p>Já fui criticado por pedir para cliente comprar uma roteador para ser apenas o gateway dos servidores. <em>&#8220;Rudimar é louco&#8221;</em>. E eu digo: <em>Mais louco é quem faz NAT em roteador de borda! </em>. 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 &#8220;data&#8221;.</p>
<h1>Exemplos</h1>
<p><img loading="lazy" decoding="async" class="alignnone size-full wp-image-5860" src="https://blog.remontti.com.br/wp-content/uploads/2021/09/teste.drawio.png" alt="" width="809" height="372" srcset="https://blog.remontti.com.br/wp-content/uploads/2021/09/teste.drawio.png 809w, https://blog.remontti.com.br/wp-content/uploads/2021/09/teste.drawio-300x138.png 300w, https://blog.remontti.com.br/wp-content/uploads/2021/09/teste.drawio-768x353.png 768w" sizes="auto, (max-width: 809px) 100vw, 809px" /></p>
<h4>Receber IP via DHCP</h4>
<p>O mais simples a ser feito quando seu servidor ira receber IP automaticamente.</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet dhcp</pre>
<h4>Fixando IPv4 e IPv6</h4>
<p>Basicamente o que iremos usar em 95% das vezes</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet static
        address 200.200.200.2/28
        gateway 200.200.200.1

iface ens18 inet6 static
        pre-up modprobe ipv6
        address 2804:bebe:cafe::2/64
        gateway 2804:bebe:cafe::1</pre>
<h4>Adicionando Multiplos IPs</h4>
<p>Quando quiser mais de um IP no mesmo servidor, caso for outras interfaces basta ajustar para o nome da interface</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet static
        address 200.200.200.2/28
        gateway 200.200.200.1

iface ens18 inet static
        address 200.200.200.3/28

iface ens18 inet static
        address 200.200.201.1/32

iface ens18 inet6 static
        pre-up modprobe ipv6
        address 2804:bebe:cafe::2/64
        gateway 2804:bebe:cafe::1

iface ens18 inet6 static
        pre-up modprobe ipv6
        address 2804:bebe:cafe::3/64

iface ens18 inet6 static
        pre-up modprobe ipv6
        address 2804:bebe:ffff:ffff::ffff
        netmask 128</pre>
<h4>IP na Loopback</h4>
<p>Você pode usar quando estiver roteando um IP (OSFP/iBGP), exemplo com <a href="https://blog.remontti.com.br/4771" target="_blank" rel="noopener">FRR</a>, porém neste caso estaria fazendo a adição dos IPs pelo próprio FRR.<br />
Mas se você fará algum tipo de rota estática com intuito exemplo de fazer ECMP (Equal Cost Multi-Path), é importante que os IPs de anycast estejam na interface de loopback para que não tenha conflito.</p>
<pre class="remontti-code">auto lo 
iface lo inet loopback

iface lo inet static
        address 200.200.200.200/32</pre>
<h4>Ponto a ponto &#8211; Pointopoint</h4>
<p>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.</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet static
        address 200.200.200.0
        pointopoint 10.50.50.1
        netmask 255.255.255.255
        gateway 10.50.50.1
</pre>
<p>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:</p>
<pre class="remontti-code">RouterOS# /ip address
RouterOS# add address=10.50.50.1 comment=Pointopoint interface=ether1 network=200.200.200.0</pre>
<p>Simples não?! Testa ai! Depois me conta!</p>
<h4>Privado com saída em origem Público</h4>
<p>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.</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet static
    address 200.200.200.200/32
iface ens18 inet static
    address 10.33.33.2/30
    post-up ip route add default via 10.33.33.1 src 200.200.200.200</pre>
<p>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.:</p>
<p>Exemplo RouterOS:</p>
<pre class="remontti-code">RouterOS# /ip address add address=10.33.33.1/30 interface=ether2
RouterOS# /ip route add dst-address=200.200.200.200/32 gateway=10.33.33.2</pre>
<p>Exemplo Huawei:</p>
<pre class="remontti-code">ip route-static 200.200.200.200 32 10.33.33.2 preference 1 description SERVIDOR</pre>
<p>É possível fazer isso para IPv6 também? É claro!</p>
<pre class="remontti-code">allow-hotplug ens18

#IPv6 Público
iface ens18 inet6 static
        pre-up modprobe ipv6
        address 2804:bebe:cafe::cafe
        netmask 128

# IPv6 Privado
iface ens18 inet6 static
        pre-up modprobe ipv6
        address fd00:a::2/64
        post-up ip -6 route add default via fd00:a::1 src 2804:bebe:cafe::cafe</pre>
<p>Exemplo RouterOS:</p>
<pre class="remontti-code">RouterOS# /ipv6 address add address=fd00:a::1/64 advertise=no interface=ether2
RouterOS# /ipv6 route add dst-address=2804:bebe:cafe::cafe/128 gateway=fd00:a::2</pre>
<p>Exemplo Huawei:</p>
<pre class="remontti-code">ipv6 route-static 2804:bebe:cafe::cafe 128 fd00:a::2 preference 1 description SERVIDOR</pre>
<h5>Possível problema: Resolução ARP/ND na Inicialização</h5>
<p>Em alguns casos, pode acontecer do IP /32 (no IPv4) ou /128 (no IPv6) só começar a funcionar após um primeiro <em>ping</em> interno. Isso não significa que a configuração da rede esteja errada, mas sim que o kernel e o roteador precisam “descobrir” via ARP/ND como chegar a esse endereço adicional.</p>
<p>Esse comportamento ocorre porque, ao usar um endereço /32 (IPv4) ou /128 (IPv6), o roteador e o kernel do Linux não enviam nem respondem a requisições ARP/ND de forma “espontânea” para esse IP adicional. Somente quando há tráfego partindo do servidor (por exemplo, um ping), a troca de ARP/ND é feita e o roteador “aprende” para onde enviar os pacotes que chegam nesse IP público. Sem essa “ativação” inicial, o roteador não tem como saber que aquele IP /32 ou /128 está associado à interface do servidor.</p>
<p>No Debian 13 eu contornei desta forma:</p>
<pre class="remontti-code-blue">allow-hotplug ens18
iface ens18 inet static
    address 200.200.200.200/32
    up ip addr add 10.33.33.200/24 dev $IFACE
    up ip route replace default via 10.33.33.1 dev $IFACE  src 200.200.200.200
    down ip route del default via 10.33.33.1 dev $IFACE || true
    down ip addr del 10.33.33.2/24 dev $IFACE || true

iface ens18 inet6 static
    address 2804:bebe:cafe::cafe/128
    up ip -6 addr add fd00:a::2/64 dev $IFACE
    up ip -6 route replace default via fd00:a::1 dev $IFACE
    down ip -6 route del default via fd00:a::1 dev $IFACE || true
    down ip -6 addr del fd00:a::1/64 dev $IFACE || true
</pre>
<p>Se ainda não resolver tente com o script:</p>
<p>Crie o serviço systemd</p>
<pre class="remontti-code"># vim /etc/systemd/system/meu_script_rede.service</pre>
<p>Adicione:</p>
<pre class="remontti-code-blue">[Unit]
Description=Rodar script após inicialização da rede
After=network-online.target
Wants=network-online.target

[Service]
Type=oneshot
ExecStart=/usr/local/bin/meu_script.sh
RemainAfterExit=yes

[Install]
WantedBy=multi-user.target
</pre>
<p>Crie o script, nele vamos incluir um ping</p>
<pre class="remontti-code"># vim /usr/local/bin/meu_script.sh</pre>
<p>Ajuste <strong>IPV4_GATEWAY</strong> e <strong>IPV6_GATEWAY</strong> para seus gateway.</p>
<pre class="remontti-code-blue">#!/bin/bash

# IPs
IPV4_GATEWAY=&quot;10.33.33.1&quot;
IPV6_GATEWAY=&quot;fd00:cafe::1&quot;

# Nº de pings
NPING=5

# Registro no log
date &gt; /var/log/rede_inicializada.log
echo &quot;A placa de rede foi inicializada&quot; &gt;&gt; /var/log/rede_inicializada.log

# Enviar pings para forçar ARP/ND
ping -O -4 -c $NPING $IPV4_GATEWAY &gt;&gt; /var/log/rede_inicializada.log
ping -O -6 -c $NPING $IPV6_GATEWAY &gt;&gt; /var/log/rede_inicializada.log

# Espera 1 segundo
sleep 1
</pre>
<p>Dê permissão de execução:</p>
<pre class="remontti-code"># chmod +x /usr/local/bin/meu_script.sh</pre>
<p>Ative o serviço no systemd e reinicie</p>
<pre class="remontti-code"># systemctl daemon-reload
# systemctl enable meu_script_rede
# systemctl start meu_script_rede
# systemctl status meu_script_rede</pre>
<p>Agora, toda vez que o servidor inicializar, este script rodará e enviará alguns pings para “ativar” as tabelas ARP e ND. Você poderá verificar o arquivo /var/log/rede_inicializada.log para ver a saída dos pings. `cat /var/log/rede_inicializada.log`</p>
<h4>Criando VLAN e adicionado IP nela</h4>
<p>Para adicionar um IP a uma VLAN precisamos carregar o módulo 8021q, e coloca-lo para iniciar com sistema.</p>
<pre class="remontti-code"># modprobe 8021q
# echo &quot;8021q&quot; &gt;&gt; /etc/modules</pre>
<p>Agora basta editar sua interface e incluir um ponto e o numero da VLAN. No exemplo VLAN 171</p>
<pre class="remontti-code">allow-hotplug ens18.171
iface ens18.171 inet static
       address 10.88.88.2/24</pre>
<h4>PBR &#8211; Roteamento baseado em políticas</h4>
<p>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.</p>
<pre class="remontti-code"># echo &quot;100 cgnat&quot; &gt;&gt; /etc/iproute2/rt_tables
# cat /etc/iproute2/rt_tables
# ip route list table main</pre>
<p>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.</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet static
    address 10.200.200.2/30
    post-up ip route add default via 10.200.200.1 dev ens18 table cgnat
    post-up ip rule add from 100.64.0.0/10 lookup cgnat</pre>
<h4>Blackhole</h4>
<p>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</p>
<pre class="remontti-code">allow-hotplug ens18
iface ens18 inet static
    address 10.33.33.2/30
    post-up ip route add blackhole 200.200.200.128/26 metric 250 || true</pre>
<h4>Agregação</h4>
<p>Instalar o ifenslave: Este pacote permite configurar a agregação de portas no Linux.</p>
<pre class="remontti-code"># apt install ifenslave</pre>
<p>Carregar o Módulo de Bonding</p>
<pre class="remontti-code"># echo &quot;bonding&quot; | tee -a /etc/modules
# modprobe bonding</pre>
<p>Verificar se o módulo foi carregado corretamente:</p>
<pre class="remontti-code"># lsmod | grep bonding</pre>
<p><strong>802.3ad (LACP):</strong> Ideal para aumentar a largura de banda e fornecer redundância quando conectado a um switch que suporta LACP.<br />
<strong>balance-xor:</strong> Útil para balanceamento de carga baseado em XOR, adequado para ambientes que não suportam LACP.<br />
<strong>balance-rr (Round Robin):</strong> Simples e eficaz para cargas de trabalho que exigem balanceamento de carga sem configuração específica do switch.<br />
<strong>active-backup:</strong> Fornece redundância sem aumento de largura de banda, útil quando a continuidade do serviço é mais crítica do que a capacidade.<br />
<strong>balance-tlb (Transmit Load Balancing) e balance-alb (Adaptive Load Balancing):</strong> Ambos são bons para ambientes onde a configuração do switch não pode ser alterada ou não suporta LACP. O ALB também tenta balancear o tráfego de entrada.</p>
<p>Aqui estão exemplos para vários modos de bonding</p>
<pre class="remontti-code"># vim /etc/network/interfaces</pre>
<h5>802.3ad (LACP)</h5>
<p><em>Aplicação: Ideal para ambientes de alta disponibilidade e alta largura de banda, como data centers ou servidores que precisam de conexões robustas e de alta capacidade. É necessário que ambos os lados (o Debian e o switch/router) suportem LACP.</em></p>
<pre class="remontti-code">auto bond0
iface bond0 inet static
    address 192.168.0.2/24
    bond-slaves enp4s0f0 enp4s0f1
    bond-miimon 100
    bond-mode 802.3ad
    bond-xmit-hash-policy layer2+3
</pre>
<h5>Balance-xor</h5>
<p><em>Aplicação: Bom para ambientes onde o tráfego de rede tem padrões conhecidos que podem ser distribuídos de forma eficaz usando XOR. Pode ser usado para melhorar o desempenho quando LACP não é suportado.</em></p>
<pre class="remontti-code">auto bond0
iface bond0 inet static
    address 192.168.0.2/24
    bond-slaves enp4s0f0 enp4s0f1
    bond-miimon 100
    bond-mode balance-xor
    bond-xmit-hash-policy layer2+3
</pre>
<h5>Balance-rr (Round Robin)</h5>
<p><em>Aplicação: Simples e eficaz para distribuir cargas de forma equitativa sobre as interfaces físicas. Útil em ambientes onde a ordem de chegada dos pacotes não é crítica.</em></p>
<pre class="remontti-code">auto bond0
iface bond0 inet static
    address 192.168.0.2/24
    bond-slaves enp4s0f0 enp4s0f1
    bond-miimon 100
    bond-mode balance-rr
</pre>
<h5>Active-backup</h5>
<p><em>Aplicação: Ideal para redundância sem aumentar a largura de banda. Se a interface primária falhar, outra assumirá. Recomendado para serviços críticos que precisam de alta disponibilidade mais do que de alta capacidade.</em></p>
<pre class="remontti-code">auto bond0
iface bond0 inet static
    address 192.168.0.2/24
    bond-slaves enp4s0f0 enp4s0f1
    bond-miimon 100
    bond-mode active-backup
    bond-primary enp4s0f0
</pre>
<h5>Balance-tlb (Transmit Load Balancing)</h5>
<p><em>Aplicação: Útil quando a modificação de configuração do switch não é possível. Realiza o balanceamento de carga de saída de acordo com a carga atual de cada interface. Não requer suporte específico do switch.</em></p>
<pre class="remontti-code">auto bond0
iface bond0 inet static
    address 192.168.0.2/24
    bond-slaves enp4s0f0 enp4s0f1
    bond-miimon 100
    bond-mode balance-tlb
</pre>
<h5>Balance-alb (Adaptive Load Balancing)</h5>
<p><em>Aplicação: Similar ao balance-tlb, mas também tenta balancear o tráfego de entrada, o que pode ser útil em servidores web ou de aplicativos. Essa modalidade não requer configuração especial do switch.</em></p>
<pre class="remontti-code">auto bond0
iface bond0 inet static
    address 192.168.0.2/24
    bond-slaves enp4s0f0 enp4s0f1
    bond-miimon 100
    bond-mode balance-alb
</pre>
<p>Reiniciar o sistema para aplicar as alterações:</p>
<pre class="remontti-code"># reboot</pre>
<p>Verificar o status do serviço de rede para garantir que não houve erros, e a configuração de bonding.</p>
<pre class="remontti-code"># systemctl status networking
# journalctl -u networking.service
# cat /proc/net/bonding/bond0</pre>
<h4>Considerações finais</h4>
<p>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.</p>
<p>Caso você queira adicionar/remover IPs manualmente (em memória/perde ao reiniciar) você pode usar o comando <strong>ip</strong>, segue exemplo, onde <strong>ens18</strong> é o nome da interface.<br />
Adicionar:</p>
<pre class="remontti-code"># ip addr add 192.168.7.7/32 dev ens18
# ip -6 addr add 2001:db8:1::1/128 dev ens18</pre>
<p>Visualizar:</p>
<pre class="remontti-code"># ip address</pre>
<p>Remover:</p>
<pre class="remontti-code"># ip addr del 192.168.7.7/32 dev ens18
# ip -6 addr del 2001:db8:1::1/128 dev ens18</pre>
<p>Exibe interfaces / Endereços IPs</p>
<pre class="remontti-code"># ip -br a
# ip -br addr show
# ip -br link
# ip -br link show</pre>
<p>Exibir informações sobre todas as interfaces de rede:</p>
<pre class="remontti-code"># ip a
# ip addr
# ip addr show</pre>
<p>Exibir informações sobre todas as interfaces de rede IPv4:</p>
<pre class="remontti-code"># ip -4 a</pre>
<p>Exibir informações sobre todas as interfaces de rede IPv6:</p>
<pre class="remontti-code"># ip -6 a</pre>
<p>Exibir informações sobre uma interface de rede específica:</p>
<pre class="remontti-code"># ip a show eth0
# ip a list eth0
# ip a show dev eth0</pre>
<p>Mostrar apenas interfaces em execução</p>
<pre class="remontti-code"># ip link ls up</pre>
<p>Adicionar um endereço IPv4/IPv6:</p>
<pre class="remontti-code"># ip a add {ip_addr/mask} dev {interface}
# ip a add 10.0.1.200/255.255.255.0 dev eth0
# ip a add 10.0.1.200/24 dev eth0</pre>
<p>Remover endereço IP</p>
<pre class="remontti-code"># ip a del {ipv6_addr_OR_ipv4_addr} dev {interface}
# ip a del 10.0.1.200/24 dev eth0</pre>
<p>Desligando a interface</p>
<pre class="remontti-code"># ip link set dev eth1 down</pre>
<p>Ligando a interface</p>
<pre class="remontti-code"># ip link set dev eth1 up</pre>
<p>Ajusda</p>
<pre class="remontti-code"># man ip
# ip --help</pre>
<p>Comandos antigos X Novo comando</p>
<pre class="remontti-code">Velho # ifconfig -a
 Novo # ip a

Velho # ifconfig eth0 down
 Novo # ip link set eth0 down

Velho # ifconfig eth0 up
 Novo # ip link set eth0 up

Velho # ifconfig eth0 10.0.2.24
 Novo # ip addr add 10.0.2.24/24 dev eth0

Velho # ifconfig eth0 netmask 255.255.255.0
 Novo # ip addr add 10.0.1.1/24 dev eth0

Velho # ifconfig eth0 mtu 9000
 Novo # ip link set eth0 mtu 9000

Velho # ifconfig eth0:0 10.0.2.25
 Novo # ip addr add 10.0.2.25/24 dev eth0

Velho # netstat -g
 Novo # ip maddr

Velho # route
 Novo # ip r

Velho # route add -net 10.0.2.0 netmask 255.255.255.0 dev eth0
 Novo # ip route add 10.0.2.0/24 dev eth0

Velho # route add default gw 10.0.2.254
 Novo # ip route add default via 10.0.2.254

Velho # arp -a
 Novo # ip neigh

Velho # arp -v
 Novo # ip -s neigh

Velho # arp -s 10.0.2.33 01:02:03:04:05:06
 Novo # ip neigh add 10.0.3.33 lladdr 01:02:03:04:05:06 dev eth0

Velho # arp -i eth0 -d 10.0.2.254
 Novo # ip neigh del 10.0.2.254 dev eth0

Velho # netstat
 Novo # ss

Velho # netstat -tulpn
 Novo # ss -tulpn

Velho # netstat -neopa
 Novo # ss -neopa</pre>
<p>Espero ter colaborado com uma pequena parcela em seu conhecimento! Desculpa o português e as palavras faltando letras, é difícil conseguir tempo para vir aqui escrever e revisar, então abro meu &#8220;bloco de notas&#8221; e vou escrevendo&#8230;</p>
<p>Curtiu o conteúdo? Quer me ajudar manter o blog? <img src="https://s.w.org/images/core/emoji/17.0.2/72x72/1f642.png" alt="🙂" class="wp-smiley" style="height: 1em; max-height: 1em;" /></p>
<p><strong>Se quiser fazer uma doação para o café ficarei muito feliz pelo seu reconhecimento!</strong><br />
<a href="https://blog.remontti.com.br/doar"><img decoding="async" src="https://blog.remontti.com.br/wp-content/uploads/2019/07/quero-doar-remontti.png" /></a></p>
<p>Participe do canal no <a href="https://t.me/blogremontti" target="_blank" rel="noopener noreferrer">telegram</a> para ficar atualizado sempre que publicar um novo tutorial.</p>
<p>Se não puder doar pode deixar seu agradecimento nos comentário também ficarei feliz em saber que ajudei. Se tiver qualquer pergunta deixe-a também. Se preferir entrar em Contato <a href="https://blog.remontti.com.br/meucontato" target="_blank" rel="noopener noreferrer">clique aqui.</a></p>
<p>Abraço!</p>
<p>O post <a href="https://blog.remontti.com.br/5848">Configurando interface de rede no Debian 10/11/12/13</a> apareceu primeiro em <a href="https://blog.remontti.com.br">Remontti</a>.</p>
]]></content:encoded>
					
					<wfw:commentRss>https://blog.remontti.com.br/5848/feed</wfw:commentRss>
			<slash:comments>17</slash:comments>
		
		
			</item>
	</channel>
</rss>
