Logo Hardware.com.br
fer1000br
fer1000br Membro Senior Registrado
320 Mensagens 12 Curtidas

[Dica] Como criar rede local e compartilhar a Internet no Gnu/Linux

#1 Por fer1000br 28/03/2011 - 15:50
Texto voltado pra distribuições derivadas do Debian (Debian, Ubuntu, Big Linux, Mint, etc)

Direto com se fosse copia e colar não vão funcionar com distribuições derivadas de RedHat (RedHat, Suse, Fedora, Mandriva, etc). Nesta distro arquivos de configuração, nome de interfaces ou nome de pacotes pode ser diferentes. Veja as diferenças.


Tenho visto muitas dúvidas de como fazer a rede local e compartilhar internet no Gnu/Linux.

Pretendo com esta pequena dica, em simples passos, informar como fazer isso. Também é possível ver o vídeo de como deve ser feito e como éo funcionamento.

Como Compartilhar Internet no Gnu/Linux

Vídeo de como se faz e resultado que tem.
http://blip.tv/dashboard/episode/4922395

1 - Configurar uma interface de rede

No caso temos um micro com duas interfaces de rede, no caso a eth0 entra internet e eth1 vai usada pra ser feito a rede local. Editar o arquivo interfaces nano /etc/network/interfaces

auto eth1
iface eth1 inet static
address 192.168.20.1
netmask 255.255.255.0
network 192.168.20.0
broadcast 192.168.20.255

e depois executar o restart o networking
/etc/init.d/networking restart

Recomendo remover o: network-manager-gnome e outros gerenciadores de rede gráficos. Pois este aplicativos sempre acaba conflitante com networking.

2 - Instalação e configurar do DHCP3-Server

Vamos realizar a instalação do dhcp3-server no Debian Squeeze, que mudou nome pra isc-dhcp-server, é importante saber pois ao ligar o serviço tem usar nome novo. No Ubuntu tem mantém o nome de dhcp3-server (veja na distro que usa qual o nome).

apt-get install isc-dhcp-server - Debian Squeeze
apt-get install dhcp3-server - Ubuntu
pacman -S dhcp - Archlinux

Confira na sua distro e faça a instalação, e vamos pra configuração. Primeiro vamos informar qual placa o isc-dhcp-server vai ouvir, edite o arquivo:

nano /etc/default/isc-dhcp-server

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACES="eth1"

No caso vai ser eth1 pois usaremos esta interface.

Vamos configurar o dhcpd.conf - pra assim criar o range de ips e informar os valores da
rede.
nano /etc/dhcp/dhcpd.conf - Debian Squeeze
nano /etc/dhcp3/dhcpd.conf - Ubuntu
Vamos editar algumas linhas e informar valores pra nossa rede, mais importante e informar
valores pra: option domain-name-servers, option routers, subnet
e o range - deve ficar algo próximo a isso.

ddns-update-style none;

# option definitions common to all supported networks...
option domain-name "redecasa";
option domain-name-servers 192.168.20.1,208.67.222.222,208.67.220.220;

default-lease-time 600;
max-lease-time 7200;

# This is a very basic subnet declaration.
subnet 192.168.20.0 netmask 255.255.255.0 {
range 192.168.20.20 192.168.20.220;
option routers 192.168.20.1;
}

Feito tudo...execute.
#/etc/init.d/isc-dhcp-server restart - Debian Squeeze
sudo /etc/init.d/dhcp3-server restart - Ubuntu

3 - Instalação do Bind9 (DNS Server) e Script de Firewall com NAT

Bind9 pode ajudar a fazer cache dos domínios que são constantemente acessados.
apt-get install bind9

Script de Firewall com NAT
Caso não tenha nenhuma regra de Firewall crie este arquivo:
nano /etc/init.d/compartilhamento

#!/bin/bash

echo "1" > /proc/sys/net/ipv4/ip_forward

# Limpando as tabelas
iptables -F
iptables -t nat -F
iptables -t mangle -F

# Macarando conexões da rede
# se sua conexao estiver na interface ppp0 basta trocar o eth0 por ppp0
# a interface ppp0 é usada tb em dial-up, entao, neste caso, troque o eth0
# por ppp0

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE


Dando permissão de executar e colocando pra iniciar no boot.
chmod a+x /etc/init.d/compartilhamento
update-rc.d -f compartilhamento defaults

Caso queria desligar que script compartilhamento rode na hora do boot, use pra remover:
update-rc.d -f compartilhamento remove

Qualquer dúvida, veja o vídeo informado no inicio da dica.

Possível encontrar em outros sites esta dica, pois muita gente anda perguntando disso em diversos lugares. boa.gif
gabriel ozaki
gabriel ozak... Super Participante Registrado
431 Mensagens 14 Curtidas
#2 Por gabriel ozak...
28/03/2011 - 16:23
olá amigo, excelente dica, você também pode colocar (debian) o script de inicialização no final do /etc/init.d/bootmisc.sh
------PC - Trabalho -------------
Slackware 13.1 64bits + Fluxbox

------Notebook pessoal--------
Arch linux + Openbox

-----Distros que eu já usei
Ubuntu, Debian, CentOS, Mandriva, Mint, Slackware e Arch Linux
jqueiroz
jqueiroz Cyber Highlander Registrado
104K Mensagens 5.7K Curtidas
#3 Por jqueiroz
29/03/2011 - 19:31
Olá fer1000br,

Só uma correção, os passos que vc passou são pra distribuições derivadas do Debian (Debian, Ubuntu, Big Linux, Mint, etc), e não vão funcionar com distribuições derivadas de RedHat (RedHat, Suse, Fedora, Mandriva, etc). Sugiro que vc deixe claro no título...
"chmod 777 nunca ajudou ninguém" (c) 2002-2021 JQueiroz/FGdH
Conheça o Blog do Zekke
© 1999-2024 Hardware.com.br. Todos os direitos reservados.
Imagem do Modal