Para um roteador simples, existem apenas duas etapas que precisam ser executadas.
Ativar roteamento
O primeiro passo é habilitar o roteamento no kernel. Por padrão, o kernel descarta pacotes que não reconhece; depois de ativar o roteamento, ele os encaminhará. Você precisa emitir um desses dois comandos quando o computador inicializar:
sysctl -w net.ipv4.ip_forward=1
echo 1 >/proc/sys/net/ipv4/ip_forward
Muitas distribuições têm um arquivo chamado /etc/sysctl.conf
, onde você pode colocar a linha net.ipv4.ip_forward=1
para executar esse comando quando o computador é inicializado. Se houver um diretório /etc/sysctl.d
, você poderá adicionar um arquivo nesse diretório em vez de editar /etc/sysctl.conf
; chame o arquivo something.conf
.
Para o IPv6, a configuração correspondente é net.ipv6.conf.all.forwarding
ou /proc/sys/net/ipv6/conf/all/forwarding
. Você também pode usar net.ipv4.conf.all.forwarding
ou /proc/sys/net/ipv4/conf/all/forwarding
para IPv4.
Definir tabelas de roteamento
O segundo passo é definir as tabelas de roteamento. Isso pode ser simples ou complicado, dependendo de quanto você precisa fazer. Para usos simples, configure cada endereço e máscara de rede de suas interfaces de rede e adicione qualquer rota extra necessária com o comando route
.
Indo além do simples roteamento
Se você precisar reescrever pacotes, o comando básico é iptables
( ip6tables
para IPv6). (“Netfilter” é o nome do recurso de tratamento de pacotes do kernel, e “iptables” se o nome do programa que o controla.) É onde procurar por filtragem, NAT e mais.
Para configurações complexas, consulte o comando ip
do pacote iproute2 .