COMPARTILHAMENTO DE INTERNET USANDO FREEBSD COM MODEM ADSL EM BRIDGE
Pessoal muita gente procura essa informação na internet eu mesmo, tive muita dificuldade pra encontrá-la na primeira vez, então estou aqui trazendo criando esse tutorial para todos.
1º PASSO
Se o seu modem está roteado, reset nele, e configure em bridge para a operadora de sua região. Não vou fazer tópico pra isso.
2º PASSO ( PARTE FREEBSD)
Primeiramente uma dica: eu utilizava o shell bash na conta root, e toda vez que tentava configurar o pppoe, ele dava erros e não iniciava junto com o sistema, então para usar modem em bridge discando pppoe no freebsd deixa a conta root com o shell sh ou csh ok.
TOPOLOGIA DO SERVIDOR FREEBSD:
rl0 - > placa de rede ligada ao modem adsl em bridge usando dhcp
rl1 -> placa de rede ligada ao switch para compartilhar a internet com outros computadores ip: 192.168.10.1
bom vamos lá
PRIMEIRAMENTE ANTES DE TUDO, PRECISAMOS RECOMPILAR O NOSSO KERNEL PARA TERMOS ACESSO AS OPCOES DE COMPARTILHAMENTO E OPCOES DE NOSSO FIREWALL IPFW. COMO FAZEMOS ISSO, VEJA ABAIXO:
no console de comando do freebsd, vamos fazer o seguinte:
cd /sys/i386/conf [enter]
cp GENERIC NOMEDOSEUKERNELPERSONALIZADO (NO MEU CASO VOU DAR O NOME DE MYKERNEL)
incluir dentro do MYKERNEL PODE SER AO FINAL OU NO INICIO DO ARQUIVO O SEGUINTE, VOCE PODE USAR O EDITOR DE TEXTOS
ee ou o vi, como queiram
se for usar o "ee", então: ee MYKERNEL, adicione as linhas abaixo
options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPFIREWALL_DEFAULT_TO_ACCEPT
options IPDIVERT
options DUMMYNET
options NETGRAPH
options NETGRAPH_PPPOE
options NETGRAPH_ETHER
options NETGRAPH_ASYNC
options NETGRAPH_SOCKET
options HZ=1000
Para sair do "ee" e salvar o arquivo, é só dar um [ESC] [a] [a], fácil né..
Então continuando, depois de adicionar as linhas vamos digitar o seguinte comando no console:
config MYKERNEL
após isto, vamos entrar em outra pasta.. digitando os comandos abaixo
cd ..
cd compile/MYKERNEL
make cleandepend
make depend
make
make install
Beleza, após isso, seu kernel será instalado com todos módulos necessários, continue a fazer as configurações abaixo e
depois reinicie o sistema.
2.1 - arquivo ppp.conf ( /etc/ppp/ppp.conf )
default:
set log local phase chat lcp ipcp ccp tun command
ident user-ppp VERSION (built COMPILATIONDATE)
#( onde rl0 é placa de rede ligada ao modem, troque pela sua placa ligada ao modem, se não souber,
ifconfig no console pra ver.)
set device PPPoE:rl0
set mru 1492
set mtu 1492
set login
set dial
set timeout 0 # 0 minute idle timer (the default)
enable dns # request DNS info (for resolv.conf)
set authname [email protected] (aqui vai a conta em um provedor de autenticaçao)
set authkey 2238521111 (aqui vai a senha da conta acima)
nat disable
add default HISADDR # Add a (sticky) default route
2.2 - arquivo rc.conf (/etc/rc.conf
no arquivo rc.conf inclua as seguintes linhas ao final do arquivo
se houve uma linha default_router, comente-a com #
ifconfig_rl0="DHCP" ou coloque um ip na faixa do modem ex: (ifconfig_rl0="inet 192.168.254.1 netmask 255.255.255.0")
ifconfig_rl1="inet 192.168.10.1 netmask 255.255.255.0"
ppp_enable="YES"
ppp_profile="default"
ppp_mode="ddial"
ppp_nat="NO"
2.3 arquivo natd.conf (/etc/natd.conf
crie ou modifique o arquivo natd.conf que deverá conter o seguinte:
interface tun0 # ( onde a interface tun0 será criada quando o pppoe se conectar a internet pelo modem bridge.)
dynamic yes
same_ports yes
use_sockets yes
verbose no
2.4 arquivo inicianet.sh
vamos criar um script de inicialização do compartilhamento de internet, este arquivo deve estar na pasta /usr/local/etc/rc.d
então no prompt do freebsd vamos digitar os comandos:
cd /usr/local/etc/rc.d [enter]
echo "ipfw add 1 divert natd all from any to any via tun0" > inicianet.sh [enter]
chmod +x inicianet.sh [enter] para fazer o script ser executável
2.5 arquivo resolve.conf (/etc/resolv.conf)
dentro do resolv.conf colocaremos alguns servidores de dns, então inclua o seguinte
208.67.222.222
208.67.220.220
8.8.8.8
bom acho q é isso, lembrando que o shell do root tem que ser sh ou csh para que não haja problemas na inialização do sistema.
agora reinicie seu sistema, e bom acesso...
acessem nosso twitter.
Twitter
Re: COMPARTILHAMENTO DE INTERNET USANDO FREEBSD COM MODEM ADSL EM BRIDGE
Re: COMPARTILHAMENTO DE INTERNET USANDO FREEBSD COM MODEM ADSL EM BRIDGE
Caro xxNeoxx,
O nat no freebsd mudou faz uns 3 anos. Antigamente, o ipdivert era utilizado em conjunto com o natd porque nao se tinha alias dentro do kernel mas como disse, mudou faz 3 anos.
Pelo fato de um daemon (natd) estar na userland, se vc estiver com um load muito grande, o processamento vai lá em cima, por causa do overhead de uma aplicação em userland.
Para resolver isso, fizeram uma biblioteca dentro do kernel (a libalias) que faz nat em kernel land.
Dê uma olhada em " man ipfw" .
kernel:
options libalias
options IPFIREWALL
options IPFIREWALL_NAT
options IPFIREWALL_FORWARD
ipfw nat 1 config if rl0 "(interface do link"
ipfw add nat 1 all from 192.168.1.0/24 to any
ipfw add nat 1 all from any to me in via rl0
Com issó aí, vc tem um nat feito através do kernel, e nao de uma aplicação userland.
Saudações flamenguistas,
Thiago
Re: COMPARTILHAMENTO DE INTERNET USANDO FREEBSD COM MODEM ADSL EM BRIDGE
Caros amigos, sei do nat built-in e testei o mesmo logo que saiu, mas tive muitos problemas por conta de vários bugs naquela época, que também foram reportados por muitos usuários na internet, e como as vezes não podemos esperar a solução no próximo release, deixei o nat built-in de lado e voltei para no natd, que no meu caso funciona muito bem por sinal. Mas vou analisar como esta o nat built-in e se tudo estiver 100% mudo o tutorial para esse uso. Obrigado a todos..