Curitiba/PR Contato
Administração e Suporte em Ti

# Estes testes foram realiazados com o sistema operacional Linux CentOS 6.8 e autenticação com modem-adsl pppoe no modo bridge.

# Como a intenção é demonstrar o roteamento e controle através do Linux o modem foi configurado como bridge (camada 2) retirando a funcionalidade de gerenciamento através do modem (camada 3).
OBS: Se o acesso a internet só é possivel primeiramente com o modem autenticado, altere-o depois para o modo bridge quando for efetuar as configurações para autenticação e roteamento.

# Instalar pacotes de conexão, autenticação e ferramentas de apoio.
yum install ppp rp-pppoe  radvd nmap iptraf wget iptraf dhcp bind bind-utils mlocate ntsysv -y
yum update -y

# Vamos precisar de alguns pacotes que não tem na distribuição padrão do CentOS, como o “wide-dhcp6
rpm -ivh https://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm
yum update -y
yum install wide-dhcpv6 -y

mkdir /etc/wide-dhcpv6
cp /usr/share/doc/wide-dhcpv6/dhcp6c.conf.sample /etc/wide-dhcpv6/dhcp6c.conf

# configurar a conexão ppp para obter o endereço IPv6.
vi /etc/ppp/options
lock
+ipv6 ipv6cp-use-ipaddr

vi /etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
IPV6FORWARDING=yes
HOSTNAME=localhost.localdomain

# A nossa interface de rede interna (LAN) será a “eth0”
vi /etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
IPADDR=192.168.25.1
PREFIX=24
DNS1=8.8.8.8
DNS2=8.8.4.4
IPV6INIT=yes

# A nossa interface “eth1″ será a de conexão fisica ao modem
vi /etc/sysconfig/network-scripts/ifcfg-eth1
DEVICE=eth1
IPV6INIT=yes
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none

# Configure a conexão de adsl, responda as perguntas até encerrar a configuração
adsl-setup

# Edite o arquivo gerado
vi /etc/sysconfig/network-scripts/ifcfg-ppp0
USERCTL=yes
BOOTPROTO=dialup
NAME=DSLppp0
DEVICE=ppp0
TYPE=xDSL
ONBOOT=yes

PIDFILE=/var/run/pppoe-adsl.pid
FIREWALL=NONE
PING=.
PPPOE_TIMEOUT=80
LCP_FAILURE=3
LCP_INTERVAL=20
CLAMPMSS=1412
CONNECT_POLL=6
CONNECT_TIMEOUT=60
DEFROUTE=yes
SYNCHRONOUS=no
ETH=eth1
PROVIDER=DSLppp0
USER=turbonet@turbonet
PEERDNS=no
DEMAND=no

MTU=1492
CLAMPMSS=1440

IPV6INIT=yes
#IPV6_AUTOCONF=yes
#IPV6_DEFROUTE=yes
PIDFILE=/var/run/pppoe.pid
PPPD_EXTRA=”ipv6 ,”
IPV6_DEFAULTDEV=”ppp0″

# Vamos editar o client do serviço dhcp para IPv6
vi /etc/wide-dhcp6/dhcp6c.conf

interface eth0 {
        information-only;
        send domain-name-servers, domain-name;
};

interface ppp0 {
        send ia-pd 0;
        send ia-na 0;
        request domain-name-servers;
        request domain-name;
};

id-assoc na 0 { };
id-assoc pd 0 {
        prefix ::/64 infinity;
        prefix-interface eth0 {
                sla-id 1;
                #sla-id 0;
                sla-len 0;
        };
};



mkdir -p /var/lib/dhcpv6

# Agora vamos editar o radvd (Router Advertisement Daemon)

interface eth0 {
        AdvSendAdvert on;
        MinRtrAdvInterval 5;
        MaxRtrAdvInterval 30;
        AdvDefaultPreference medium;
        prefix ::/64 {
                AdvOnLink on;
                AdvAutonomous on;
                AdvRouterAddr on;
                AdvValidLifetime 3600;
                AdvPreferredLifetime 1200;
        };
        RDNSS 2001:4860:4860::8888  2001:4860:4860::8844 {
                AdvRDNSSLifetime 30;
                 };
};

PS: A linha RDNSS seria para informar o dns público do Google, mas nos meus testes não funcionou muito bem
por isso a linha “send domain-name-servers, domain-name;” no dhcp6c.conf resolveu o problema fornecendo o dns
da operadora…

# Insira a interface ppp0 no arquivo
vi /etc/sysconfig/dhcp6c

# specify the interface for dhcp6c
DHCP6CIF=ppp0
# Command line options here
DHCP6CARGS=

# Por padrão o Linux não faz forwarding para os protocolos IPv4 e IPv6, é necessário habilitar.
# Insira no final do arquivo /etc/sysctl.conf

vi /etc/sysctl.conf
net.ipv6.conf.all.forwarding=1
net.ipv6.conf.ppp0.accept_ra=2

Altere: net.ipv4.ip_forward = 0
para 1

# Salve o arquivo e execute:
sysctl -p

cd /etc
ln -s wide-dhcpv6/dhcp6c.conf .
/etc/rc.d/init.d/dhcp6c start
/etc/rc.d/init.d/radvd start

Verificando os endereços no servidor….

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  Endereço de HW 08:00:27:BB:BF:E5
          inet end.: 192.168.25.1  Bcast:192.168.25.255  Masc:255.255.255.0
          endereço inet6: 2804:7f4:3b80:872:a00:27ff:febb:bfe5/64 Escopo:Global
          endereço inet6: fe80::a00:27ff:febb:bfe5/64 Escopo:Link

eth1      Link encap:Ethernet  Endereço de HW 08:00:27:11:EA:FE
          endereço inet6: fe80::a00:27ff:fe11:eafe/64 Escopo:Link

lo        Link encap:Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina

ppp0      Link encap:Protocolo Ponto-a-Ponto
          inet end.: 177.96.81.10  P-a-P:179.184.126.184  Masc:255.255.255.255
          endereço inet6: 2804:7f4:3222:409a:6063:8483:1221:44c7/64 Escopo:Global
          endereço inet6: fe80::6063:8483:1221:44c7/10 Escopo:Link

Nas máquinas Linux clientes:

/etc/sysconfig/network
NETWORKING=yes
NETWORKING_IPV6=yes
IPV6INIT=yes

/etc/sysconfig/network-scripts/ifcfg-eth0
DEVICE=eth0
TYPE=Ethernet
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=dhcp # “se for usar dhcp client”
IPV6INIT=yes

[root@localhost ~]# ifconfig
eth0      Link encap:Ethernet  Endereço de HW 08:00:27:86:D7:7A
          inet end.: 192.168.25.10  Bcast:192.168.25.255  Masc:255.255.255.0
          endereço inet6: 2804:7f4:3b80:872:a00:27ff:fe86:d77a/64 Escopo:Global
          endereço inet6: fe80::a00:27ff:fe86:d77a/64 Escopo:Link
      
lo        Link encap:Loopback Local
          inet end.: 127.0.0.1  Masc:255.0.0.0
          endereço inet6: ::1/128 Escopo:Máquina
[root@localhost ~]#

Configuração no Windows Client:

ipconfigw7-4

# Finalizando…
chkconfig radvd on
chkconfig dhcp6c on

As configurações repassadas permitem que as máquinas clientes consigam acesso a sites que já rodam no novo protocolo IPv6 como o yahoo, google, netflix….
No entanto muitos sites e servicos de email ainda se utilizam do protocolo IPv4. Para tanto é necessário configurar o servidor para acesso em modo de pilha dupla “aceita conexões em IPv4 e IPv6”.
O servidor deverá ter os serviços de dhcp, dns (bind) e NAT Masquerade para permitir as conexões no protocolo antigo IPv4