Compartilhando internet com controle de banda
Dica publicada em Linux / Introdução
Compartilhando internet com controle de banda
Compartilhando internet com a rede interna:
# ifconfig eth1 192.168.1.1 netmask 255.255.255.0 up
Pronto, agora vamos configurar o seu computador para repassar todo o conteúdo que vem pra placa de rede eth0 (provedor) para a placa de rede eth1 (rede interna):
# iptables -F
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F POSTROUTING -t nat
# iptables -F PREROUTING -t nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -P FORWARD DROP
Pronto, seu computador já está roteando sua conexão, fazendo com que tudo que venha pela placa de rede eth0 (provedor) vá para a eth1 (rede interna).
Agora você só precisa determinar quais IPs+MAC poderão navegar na rede interna.
Vamos liberar o IP 192.168.1.10 para poder navegar, supondo que o MAC da placa de rede seja 00:00:00:00:00:00:
# iptables -t nat -A POSTROUTING -s 192.168.1.10 -j MASQUERADE
# iptables -A FORWARD -s 192.168.1.10 -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT
# iptables -A FORWARD -d 192.168.1.10 -j ACCEPT
Pronto, somente o IP 192.168.1.10 na placa de rede com o endereço MAC 00:00:00:00:00:00 conseguirá navegar.
IP: 192.168.1.10
MsR: 255.255.255.0
Gateway: 192.168.1.1
OBS: O gateway é o IP do servidor Linux.
Vamos baixar o HTB no site:
Descompactar o arquivo:
# tar -zxvf htb_tools-0.2.5.tar.gz
Agora vamos abrir a pasta que tem os arquivos de instalação do HTB:
# cd htb_tools-0.2.5
Instalando:
# sh install.sh
# cp tc /sbin
# make install
Pronto, agora vamos configurar o arquivo de controle de banda. Vamos supor que temos um link de 512k e queremos liberar apenas 128k para o ip 192.168.1.10. Vamos alterar o arquivo /etc/htb/eth1-qos.cfg:
- eth0: Rede externa (provedor);
- eth1: Rede interna (sua rede).
# ifconfig eth1 192.168.1.1 netmask 255.255.255.0 up
Pronto, agora vamos configurar o seu computador para repassar todo o conteúdo que vem pra placa de rede eth0 (provedor) para a placa de rede eth1 (rede interna):
# iptables -F
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F POSTROUTING -t nat
# iptables -F PREROUTING -t nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -P FORWARD DROP
Pronto, seu computador já está roteando sua conexão, fazendo com que tudo que venha pela placa de rede eth0 (provedor) vá para a eth1 (rede interna).
Agora você só precisa determinar quais IPs+MAC poderão navegar na rede interna.
Vamos liberar o IP 192.168.1.10 para poder navegar, supondo que o MAC da placa de rede seja 00:00:00:00:00:00:
# iptables -t nat -A POSTROUTING -s 192.168.1.10 -j MASQUERADE
# iptables -A FORWARD -s 192.168.1.10 -m mac --mac-source 00:00:00:00:00:00 -j ACCEPT
# iptables -A FORWARD -d 192.168.1.10 -j ACCEPT
Pronto, somente o IP 192.168.1.10 na placa de rede com o endereço MAC 00:00:00:00:00:00 conseguirá navegar.
Configuração cliente Windows
IP: 192.168.1.10
MsR: 255.255.255.0
Gateway: 192.168.1.1
OBS: O gateway é o IP do servidor Linux.
Controle de banda com HTB
Vamos baixar o HTB no site:
Descompactar o arquivo:
# tar -zxvf htb_tools-0.2.5.tar.gz
Agora vamos abrir a pasta que tem os arquivos de instalação do HTB:
# cd htb_tools-0.2.5
Instalando:
# sh install.sh
# cp tc /sbin
# make install
Pronto, agora vamos configurar o arquivo de controle de banda. Vamos supor que temos um link de 512k e queremos liberar apenas 128k para o ip 192.168.1.10. Vamos alterar o arquivo /etc/htb/eth1-qos.cfg:
class download {
bandwidth 512;
limit 512;
burst 2;
priority 1;
# Clientes
client Nome_do_cliente {
bandwidth 128;
limit 128;
burst 2;
priority 1;
dst {
192.168.1.10/32;
};
};
};
class upload {
bandwidth 512;
limit 512;
burst 2;
priority 1;
# Clientes
client Nome_do_cliente {
bandwidth 128;
limit 128;
burst 2;
priority 1;
src {
192.168.1.10/32;
};
};
};
Observe que a única diferença pra controlar o download e o upload é o src e o dst. o dst controla o download enquanto que o src controla o upload.
Espero ter ajudado!!!
Dúvidas, críticas e sugestões, postem aqui.
Felipe Néri
# iptables -F
# iptables -F INPUT
# iptables -F OUTPUT
# iptables -F POSTROUTING -t nat
# iptables -F PREROUTING -t nat
# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -P FORWARD ACCEPT
# iptables -P FORWARD DROP