Boa noite,

Estou com um problema em uma conexao ADSL. A conexao eh realizada 
atraves de um modem Alcatel SpeedTouch Pro em um plano empresarial da 
Brasil Telecom. Entretanto, nao se deseja utilizar uma conexao com o 
Alcatel configurado como uma bridge nem como um roteador. O objetivo 
eh explorar a feature DHCP Spoofing presente no equipamento. O DHCP 
Spoofing permite que um servidor DHCP remoto, negociado atraves de 
uma conexao PPP, repasse o endereco IP da porta WAN do Alcatel para 
uma interface ethernet em outro equipamento. 

A topologia eh similar ao esquema abaixo:

    Internet
                                           |
                                           |
                                       Splitter
                                           |
                                           |
                                 Alcatel modem/router
                                           |
                                    10.0.0.138
                                           |
                                           |
                                           |
                                  200.215.1.44 IP Real da BRT
                                           |
                                 Router / Server FreeBSD
                                           |
                                    192.168.0.1
                                           |
                                           |
                                           |
                                           |
    PC1----------------------Switch ou Hub-----------------------PC4
192.168.0.101                /             \           192.168.0.104
                                   /                 \
                                 /                     \
                                |                       |
                                |                       |
                              PC2                    PC3
                   192.168.0.102        192.168.0.103

A configuracao do router Alcatel eh, aparentemente, bastante simples. 
Basta remover todos os registros das secoes PPPtP, PPP, Phone-Book, 
CIP Interfaces, Routing e Bridging Ports. 

Crie, entao, um novo registro, de acordo com o exemplo abaixo:

Name 'DHCP_SPOOF'
VPI=0
VCI=35
Type=ppp 

Os valores de VPI e VCI devem ser ajustados para aqueles utilizados 
pela operadora que fornece o enlace, os utilizados acima sao aqueles 
fornecidos pela BRT. O identificador do registro tambem pode ser 
qualquer um que seja desejado, desde que principie por DHCP. Na secao 
PPP adicione um registro "DHCP_SPOOF" do tipo vc-mux. Configure este 
registro com os parametros apropriados:

[EMAIL PROTECTED]
Password= 
Connection Sharing = Everybody
Destination networks = All networks
Specific network =
Address translation (NAT-PAT) = nao selecione esta opcao
Primary DNS e Secondary DNS = utilize aqueles indicados por sua 
operadora

Local IP and Remote IP = none
Mode = DIAL-IN
Idle time limit =
LCP echo = selected
PAP =
ACCOMP = selected

Certifique-se de que as opcoes de NAT-PAT e PAP nao estao 
selecionadas e que o modo de operacao selecionado eh Dial-In. 

Na secao DHCP altere o modo de operacao para DHCP server e acesse as 
opcoes avancadas. habilite a opcao DHCP Spoofing e altere o valor do 
timeout para o tempo necessario que seu servidor leva para "bootar". 
Acrescentar uma margem de seguranca pode ser uma ideia razoavel.

Na secao DNS selecione a opcao server active. Salve todas as 
alteracoes e reinicie o modem/router. Por ultimo, na secao Routing 
adicione uma rota especifica para o endereco IP valido. Atraves da 
interface web eh possivel adicionar uma rota especifica para o 
endereco IP valido.

Destination: <ipaddress>/32   Source: 0.0.0.0/0    Gateway: 
10.0.0.138

Nao conseguimos realizar esta operacao atraves da interface web do 
Alcatel. Foi necessario adiciona-la atraves da interface CLI.

# set 'IP route table' to: 'IP/32
# any 10.0.0.138'

onde o valor de IP eh o seu endereco valido fixo.

A principio, com estas configuracoes o Alcatel esta OK. As 
configuracoes no FreeBSD sao ainda mais simples. Basta configurar a 
interface conectada ao router para receber seu endereco IP atras de 
DHCP:

ifconfig_intf0="DHCP"

A reiniciar a interface o endereco IP valido fixo fornecido pela BRT 
eh adquirido atraves do DHCP Spoofing. Fixar o endereco IP da 
interface externa no /etc/rc.conf tambem funciona satisfatoriamente, 
desde que seja observda a correta mascara e o correto endereco de 
broadcast:

ifconfig_intf0="IP netmask 255.255.255.255 broadcast 255.255.255.255"

Todavia, como nao eh fornecido um gateway default pelo servidor DHCP 
ou qualquer outra rota nao eh possivel realizar qualquer conexao 
externa. Dada esta condicao adicionamos rotas estaticas com as 
intrucoes abaixo:

static_routes="00 01"
route_00="-net 10.0.0.0/24 -interface [IP-valido]"
route_01="default 10.0.0.138"

Uma outra alternativa experimentada foi a seguinte modificacao:

route_00="-host 10.0.0.138/32 -interface [IP-valido]"

tambem tentamos adicionar o parametro -cloning a rota especifica de 
acesso a interface ethernet do Alcatel.

route_00="-host 10.0.0.138/32 -interface [IP-valido] -cloning"

De forma surpreendente as rotas sao criadas mas nao eh possivel 
realizar nenhuma conexao com a interface ethernet do modem/router, 
apesar conseguir ate mesmo recuperar seu MAC via arp. Obviamente, 
tambem nao eh possivel acessaar a maquina externamente. Um cliente 
windows conectado a este modem/router tambem recebeu o endereco IP 
valido fixo e, embora tenha recebido um gateway, tambem nao consegue 
acessar o enlace com a Internet. 

Adicionando o MAC da interface ethernet do Alcatel a tabela ARP do 
FreeBSD conseguimos acessar esta interface, mas ainda nao existe rota 
de acesso externo. Apos algumas outras verificacoes descobrimos que a 
BRT fornece um endereco IP valido fixo mas com um gateway dinamico. 
Uma em cada tres ocasioes em que o Alcatel renegocia a conexao PPP eh 
fornecido um gateway diferente. 

Alguem jah enfrentou esta situacao ou tem alguma sugestao/solucao ? 
Qualquer ideia e.ou sugestao eh bem vinda.   

Windows: "Where do you want to go tomorrow?"
Linux: "Where do you want to go today?"
FreeBSD: "Are you, guys, comming or what?"

_______________________________________________________________
Sair da Lista: http://www2.fugspbr.org/mailman/listinfo/fugspbr
Historico: http://www4.fugspbr.org/lista/html/FUG-BR/

Responder a