No sistema embarcado ARM, ensinarei passo a passo como transplantar o cliente dial-up pppoe e usar o dial-up pppoe para acessar a Internet.

I. Visão geral

PPPoE (Inglês: Protocolo Ponto a Ponto sobre Ethernet), protocolo ponto a ponto na Ethernet, é um protocolo de túnel de rede que encapsula o Protocolo Ponto a Ponto (PPP) na estrutura Ethernet. Como o protocolo PPP está integrado ao protocolo, ele pode realizar autenticação, criptografia, compactação e outras funções que a Ethernet tradicional não pode fornecer. Também pode ser usado para protocolos Ethernet, como modem a cabo e linha de assinante digital (DSL), para fornecer aos usuários Acesse o sistema de protocolo de serviço.
Essencialmente, é um protocolo que permite a criação de túneis ponto a ponto entre duas interfaces Ethernet em um domínio de broadcast Ethernet.
Tomando como exemplo o pppd comumente usado em sistemas Linux, ele suporta protocolos de camada de rede IP, IPv6 e IPX na interface PPP.
Ele usa software tradicional baseado em PPP para gerenciar uma conexão que não usa uma linha serial, mas uma rede de pacotes direcionados como Ethernet. Essa conexão padrão com login e senha facilita a cobrança por parte do provedor de acesso. Além disso, a outra extremidade da conexão só atribui um endereço IP quando a conexão PPPoE é estabelecida, permitindo assim a reutilização dinâmica de endereços IP.
PPPoE é desenvolvido pela UUNET, Redback Networks e RouterWare. Publicado na descrição da RFC 2516. ( Fonte: Enciclopédia Baidu )
O acesso à Internet dial-up pppoe geralmente aparece em redes domésticas.Depois que a operadora conectar a banda larga à casa, ela configurará a função dial-up pppoe no modem óptico, inserirá a conta e a senha para fazer login , para que seu computador Ao se conectar à rede ou outros dispositivos, você não precise discar para acessar a Internet, isso ocorre porque o modem óptico tem uma função dial-up, e o modem óptico atual tem a função de um roteador. Ao conectar ao computador, a função dhcp será usada. Atribua um endereço IP para acessar a Internet.

2. Processo de transplante

O processo de transplante consiste principalmente nas seguintes partes: o kernel precisa suportar a função PPPoE, compilar o pppd e compilar o pppoe.

1. Configuração do kernel

Esta parte é a configuração do kernel, que requer que o kernel suporte pppoe:
use o comando make menuconfig para configurar o kernel. Você pode consultar a configuração a seguir e selecionar todas as opções relacionadas ao pppoe.
insira a descrição da imagem aqui
insira a descrição da imagem aqui
insira a descrição da imagem aqui
Após a conclusão da configuração, lembre-se de recompilar e reprogramar o kernel no dispositivo.

2. Compilação da ferramenta pppd

Como a compilação cruzada é necessária, é necessário usar o código-fonte do ppp, que pode ser baixado online: https://download.samba.org/pub/ppp/
insira a descrição da imagem aqui
A versão que baixei aqui é a versão ppp-2.4.1; descompacte-o após a conclusão do download, entre no diretório ppp-2.4.1 e execute:

./configure
make CC=arm-linux-gcc   // 交叉编译链替换成自己的

Após a conclusão da execução, o programa executável pppd será gerado no diretório pppd. Copie o pppd para o diretório /usr/sbin na placa de desenvolvimento, lembre-se de conceder permissões de execução. Após transplantar o kernel e o pppd, você pode executar o pppd na placa. Em circunstâncias normais, caracteres ilegíveis aparecerão, o que significa que o transplante foi bem-sucedido.

3. Compilação da ferramenta pppoe

A compilação do pppoe é semelhante ao pppd. Os passos de compilação serão explicados em detalhes abaixo. Em primeiro lugar, também entro na Internet para baixar o código-fonte do rp-pppoe. Não consigo fazer login no endereço do site oficial mencionado no artigo online. Não sei se ainda está em manutenção. Aqui está outro endereço para todos, que também pode ser o site oficial: https://src.fedoraproject.org/repo/pkgs/rp-pppoe/ Você pode baixar o arquivo de código fonte da versão desejada neste site:
insira a descrição da imagem aqui
descompacte-o após o download. versão baixada 3.8, digite rp-pppoe-3.8 /src diretório de execução:

./configure

Após a configuração, você precisa modificar manualmente a cadeia de compilação no arquivo Makefile, porque a configuração da cadeia de compilação cruzada no arquivo de configuração não tem efeito. Altere o gcc e ar no arquivo para sua cadeia de compilação correspondente. Lembre-se de modificar o Makefile no diretório libevent também.
Após a modificação, você pode compilar. Após a execução do make, os programas executáveis ​​pppoe-relay, pppoe-server, pppoe-sniff e pppoe serão gerados. Copie esses programas juntos para o diretório /usr/sbin da placa de desenvolvimento.
Existem também alguns arquivos de configuração copiados juntos. No diretório de scripts, copie pppoe-init, pppoe-stop, pppoe-start, pppoe-setup, pppoe-status e pppoe-connect para o diretório /usr/sbin da placa de desenvolvimento.
Crie uma nova pasta ppp no ​​diretório etc do sistema de arquivos da placa de desenvolvimento e, em seguida, copie todos os arquivos da pasta configs na pasta rp-pppoe para o ppp recém-criado.

3. Configure os parâmetros pppoe

Depois que todas as ferramentas forem copiadas para a placa de desenvolvimento, execute pppoe-setup para iniciar a configuração:

A primeira coisa que precisa ser configurada é o nome da conta atribuída no servidor pppoe, preencha de acordo com o próprio atribuído.
insira a descrição da imagem aqui

A segunda configuração é o nome da placa de rede, preencha-o de acordo com o nome real da sua placa de rede.
insira a descrição da imagem aqui

A terceira é configurar o link para aparecer sob demanda, basta digitar não.
insira a descrição da imagem aqui

A quarta é configurar o DNS. O que preenchi aqui é 114.114.114.114. Se não tiver certeza, você também pode preencher o servidor.
insira a descrição da imagem aqui

A quinta senha de configuração:
insira a descrição da imagem aqui

A sexta é configurar o firewall, 0 significa não habilitar o firewall.
insira a descrição da imagem aqui

Finalmente, digite y para salvá-lo no arquivo de configuração. O trabalho de configuração termina aqui. Você será solicitado a usar o comando pppoe-start para fazer uma conexão dial-up.

4. Crie informações do nó

Ao executar o pppoe-start, você precisa confirmar se existe um diretório de nó /dev/pts. Caso contrário, você precisa criá-lo manualmente.
Insira pts e crie nós mknod 0 c 136 0; mknod 1 c 136 1. O que 136 significa? Eu pesquisei e finalmente encontrei isso na documentação do kernel do Linux:
insira a descrição da imagem aqui

5. configuração do servidor pppoe

Se você quiser testar se o ambiente do dispositivo criado acima pode funcionar corretamente, você precisa construir um ambiente de teste: servidor pppoe.
Apresentarei esse trabalho em outro artigo, fique ligado!

Acho que você gosta

Origin blog.csdn.net/weixin_37926485/article/details/130853993
Recomendado
Clasificación