Compartilhar internet do ubuntu para um roteador. (resolvido)

Iniciado por cajaboy, 07 de Setembro de 2013, 09:55

tópico anterior - próximo tópico

cajaboy

Bom dia companheiros ubuntu.
Peguei o seguinte serviço.
Instalar o Ubuntu 12.04.03 em um PC que tem internet via rádio através de antena de grade USB. Neste caso a entrada eth0 está livre para plugar o RJ45 e este ligar no roteador.Roteador TP-Link segundo o cliente, ainda não fui a casa dele para ver os equipamentos. Gostaria dos senhores alguns passos, pois nunca fiz tal configuração.
Adianto o que sei. O PC usa IP fixo.
IP - 10.11.0.13
Máscara de rede - 255.255.255.0
Rota padrão 0 10.11.0.1
E o DNS primário que não lembro no momento.
O sinal do provedor que ele usa não precisa de senha, eles usam controle de acesso do mac-address.
Baixe seu ubuntu, ou derivados aqui: http://releases.ubuntu.com/
"Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem." 1 Timóteo 2:5

Arthur Bernardes

#1
Isso será fácil amigão.

Precisamos saber se a wlan funciona corretamente no Linux, confere?

Para saber qual a interface, execute os seguintes comandos e cole o resultado aqui.

ifconfig -a
iwconfig
nm-tool


Se tudo estiver tranquilo, partiremos para o compartilhamento.

Crie um script de Firewall como serviço de sistema.

Execute o seguinte comando para criar o arquivo de firewall.

sudo gedit /etc/init.d/firewall

Dentro dele, cole o seguinte conteúdo.

Código (/etc/init.d/firewall) Selecionar
#!/bin/bash

#### Declarando variáveis ####

# Interface da Internet:
ifinternet="wlan0"

# Interface da Rede Local
iflocal="eth0"

# IP da Internet
ip_internet="ip da internet"

# IP da Rede Local
rede_local="192.168.0.0/24"

#### Função "start" ####

iniciar(){

## Limpa todas as regras ##

iptables -F
iptables -t nat -F
iptables -t mangle -F

## Carrega módulos ##

modprobe ip_tables
modprobe iptable_mangle
modprobe iptable_nat

## Habilita roteamento no kernel ##

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

## Compartilha a internet ##

iptables -t nat -A POSTROUTING -o $ifinternet -j MASQUERADE
echo 1 > /proc/sys/net/ipv4/conf/default/rp_filter

#### Regras de Firewall ####

iptables -A INPUT -i lo -j ACCEPT
iptables -A INPUT -i $iflocal -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -j ACCEPT
iptables -A INPUT -p tcp --dport 80 -j ACCEPT
iptables -A INPUT -p udp --dport 80 -j ACCEPT
iptables -A FORWARD -i lo -j ACCEPT
iptables -A FORWARD -i $iflocal -j ACCEPT
iptables -A FORWARD -p tcp --dport 22 -j ACCEPT
iptables -A FORWARD -p tcp --dport 80 -j ACCEPT
iptables -A FORWARD -p udp --dport 80 -j ACCEPT
iptables -A INPUT -p tcp --syn -s $rede_local -j ACCEPT

iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state RELATED,ESTABLISHED -j ACCEPT

}

parar(){
iptables -F
iptables -F -t nat
}

status (){
iptables -L -v -n
}

case "$1" in
"start") iniciar ;;
"stop") parar ;;
"restart") parar; iniciar ;;
"status")status;;
*) echo "Use os parâmetros start, stop ou status"
esac


Normalmente deve ser wlan0 para a rede sem fio e eth0 para a rede local.

Depois disso, dê permissão de execução ao arquivo com o comando sudo chmod +x /etc/init.d/firewall.

Depois, precisaremos definir algumas entradas no arquivo interfaces, adicione essas seguintes linhas.

Código (/etc/network/interfaces) Selecionar
#### Rede Local 1 "eth0" ####

auto eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255


Reinicie o serviço de rede com o comando sudo service networking restart, e inicie o serviço de firewall com o comando sudo service firewall start

Coloque o roteador para trabalhar como Access Point, conectando o cabo que sai do servidor em uma das portas LAN do roteador, não na porta WAN e sim na LAN.

Abra as configurações do roteador, mude seu endereço IP para 192.168.0.254, e configure o servidor DHCP do roteador para:

Start IP Address: 192.168.0.100
End IP Address:: 192.168.0.200
Default Gateway: 192.168.0.1
Primary DNS: 8.8.8.8
Secondary DNS: 8.8.4.4


Reinicie o roteador, acesse as máquinas locais, conecte a rede sem fio ou ao cabo, não defina endereço IP, use o DHCP, e veja se consegue pingar no servidor com o comando ping 192.168.0.1 e então, para a internet ping www.google.com

Se tudo der certo, pode colocar o serviço de firewall para iniciar junto do sistema, com o comando:

sudo update-rc.d firewall start 99 2 3 4 5 . stop 0 1 6 .

Se não funcionar, reporte aqui, juntamente com os seguintes comandos, para certificar que o script está sendo executado corretamente.

cat /proc/sys/net/ipv4/ip_forward
sudo iptables -L -v -n
sudo iptables -t nat -L -v -n


Não se esqueça de conectar a rede sem fio no seu servidor usando o Network Manager, fica mais fácil.

Espero ter ajudado.

linogoias

Bom dia,
Já instalei uma distribuição "Puppy linux" em um pc antigo, com Internet via rádio. Foi só plugar o cabo da antena no roteador (Lembre-se de fazer reset no roteador, para "nova" configuração !!! )  e o reconhecimento da rede foi imediato. Não foi necessário configurações......
Provavelmente no ubuntu será o mesmo procedimento.

Abs.

Arthur Bernardes

Amigo, acho que você entendeu errado, ele quer configurar o Ubuntu como servidor, ele vai ser o gateway da rede, ele vai compartilhar a internet via rádio para outros computadores da rede.

Cajaboy, qualquer problema, reporta aqui.

cajaboy

Arthur, ainda vou pegar moto para ir ao destino, chegar lá faço os procedimentos, qualquer dúvida, volto aqui no forum para contar minha experiência, sim só tem uma rede sem fio e ela está como wlan0 mesmo. Falo isso porque já rodei a ISO em Livependriver e reconheceu todos os drivers, ainda não tinha instalado esperando a decisão do dono.
Baixe seu ubuntu, ou derivados aqui: http://releases.ubuntu.com/
"Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem." 1 Timóteo 2:5

Arthur Bernardes

Precisa saber se consegue ter acesso à internet usando o Ubuntu.

Vou sair pra viajar daqui a pouco, volto segunda-feira, assim que voltar, venho ao Fórum e vejamos o que ocorre.

cajaboy

Não deu certo, não sei se é poque ainda estou live, a respostas aos comandos.
custom@custom:~$ cat /proc/sys/net/ipv4/ip_forward
1
custom@custom:~$ sudo iptables -L -v -n
Chain INPUT (policy ACCEPT 437 packets, 49319 bytes)
pkts bytes target     prot opt in     out     source               destination         
   88  7375 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:80
    0     0 ACCEPT     tcp  --  *      *       192.168.0.0/24       0.0.0.0/0            tcpflags: 0x17/0x02
2500 2157K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target     prot opt in     out     source               destination         
    0     0 ACCEPT     all  --  lo     *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     all  --  eth0   *       0.0.0.0/0            0.0.0.0/0           
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:22
    0     0 ACCEPT     tcp  --  *      *       0.0.0.0/0            0.0.0.0/0            tcp dpt:80
    0     0 ACCEPT     udp  --  *      *       0.0.0.0/0            0.0.0.0/0            udp dpt:80
    0     0 ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT 214 packets, 15089 bytes)
pkts bytes target     prot opt in     out     source               destination         
2452  238K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED

Chain ufw-after-forward (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-input (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-logging-forward (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-logging-input (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-logging-output (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-after-output (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-forward (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-input (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-logging-forward (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-logging-input (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-logging-output (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-before-output (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-reject-forward (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-reject-input (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-reject-output (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-track-input (0 references)
pkts bytes target     prot opt in     out     source               destination         

Chain ufw-track-output (0 references)
pkts bytes target     prot opt in     out     source               destination         
custom@custom:~$ sudo iptables -t nat -L -v -n
Chain PREROUTING (policy ACCEPT 9971 packets, 1083K bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 199 packets, 24287 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 308 packets, 19363 bytes)
pkts bytes target     prot opt in     out     source               destination         

Chain POSTROUTING (policy ACCEPT 24 packets, 1361 bytes)
pkts bytes target     prot opt in     out     source               destination         
  284 18002 MASQUERADE  all  --  *      wlan0   0.0.0.0/0            0.0.0.0/0           
custom@custom:~$
Baixe seu ubuntu, ou derivados aqui: http://releases.ubuntu.com/
"Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem." 1 Timóteo 2:5

Arthur Bernardes

Tem certeza que a rede é wlan0?

Tenta pingar das máquinas para o servidor e veja se consegue.

Desativa o ufw, sudo service ufw stop, estou saindo, volto segunda feira, se quiser me ligar (se for da mesma área) 017991991157

Fez todos os passos que eu descrevi acima?


cajaboy

Ainda nada, segui todas as dicas, mas nada. O roteador é o TP-Link TL-WR720N
Baixe seu ubuntu, ou derivados aqui: http://releases.ubuntu.com/
"Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem." 1 Timóteo 2:5

Arthur Bernardes

A interface de rede local é eth0?

Os cabos estão bem conectados?

Porque não instala o sistema no computador, não sei se é possível fazer isso no Live.

cajaboy

Quase que o cara desiste e instala o Windows 7 pirata, mas disse a ele que tivesse paciência que até segunda a tarde resolvia.
Instalei sistema e refiz os comandos, criando o script, editando o interfaces; o PC dele é modesto, só dava para instalar o Xubuntu V-12.04.3 LTS.
A interface é wlan0, placa PCI ralink+cabo coaxial+plug pgtail, reconheceu de boa.
Coloquei a configuração de IP fixo.
O IP é 10.11.10.2, mudei o IP no script para este aí, não deixei aquele que informei no início da postagem. Eles mudaram a configuração.
Máscara de rede 255.255.0.0
Rota padrão -10.11.0.1, é estranho, com um IP 10.11.10.2 mas essa é a Rota padrão
DNS primário 10.11.0.1 e DNS secundário fica em branco. ficou acessando a net beleza.
Rodando teu script trocando o IP informado lá por este que é o verdadeiro não deu nada, analisei bem o script antes de colar no executável do firewall, fiz a configuração passo a passo, ainda não sei o que deu de errado. Cogitei que fosse o roteador mas trouxe para testar na minha rede que é Bullet e reconheceu automático, só que claro na entrada Wlan. Então, não sei o que a gente está esquecendo. Deve ser um detalhe muito pequeno.
Baixe seu ubuntu, ou derivados aqui: http://releases.ubuntu.com/
"Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem." 1 Timóteo 2:5

Arthur Bernardes

Certeza que o cabo está funcionando bem?

Você pode tentar pingar das máquinas locais para o servidor?

Execute o ping e cole o resultado aqui para podermos analisar.

Poste também o resultado do arquivo interfaces

cajaboy

#12
ficou assim, quanto ping aqui em casa só tenho meu PC e o celular. Estou com o roteador do cara também para ver se não era o cabo, mas está ok.
Editado
auto lo
iface lo inet loopback

#### Rede Local "eth0" ####
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255
Baixe seu ubuntu, ou derivados aqui: http://releases.ubuntu.com/
"Porque há um só Deus, e um só Mediador entre Deus e os homens, Jesus Cristo homem." 1 Timóteo 2:5

Arthur Bernardes

Vá até a casa do cliente, com certeza ele deve ter mais de um computador, configure o servidor, depois, a partir de uma outra máquina da rede local, tente pingar para o servidor.

Execute os seguintes comandos no servidor e cole o resultado aqui.

ifconfig -a
iwconfig
nm-tool
ping -c 4 localhost
ping -c 4 192.168.0.1

Arthur Bernardes

Achei o problema, foi uma falha minha, por favor cara, mil perdões.

O arquivo interfaces deve estar assim:

Código (/etc/network/interfaces) Selecionar
auto lo eth0

iface lo inet loopback

#### Rede Local 1 "eth0" ####

iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
network 192.168.0.0
broadcast 192.168.0.255


Reinicie a máquina e teste.

Novamente, mil perdões cara.