Squid + iptables (método ninja)
Depois de pesquisar de montão, resolvi descrever um processo simplificado de configurar um servidor de firewall.
Parte 2: Arquivo /etc/network/interfaces
O arquivo interfaces é bem interessante, pode se fazer muitas coisas legais nesse arquivo, para o mais leigo entender, nesse arquivo pode-se fazer bloqueio de MSN, syn-flood, orkut, ping etc.
Mas o que proponho aqui é uma configuração simples pra fazer a coisa funcionar.
Faça o seguinte, supondo que o servidor DHCP está em outra máquina, coloque tanto o IP da interface verde como da vermelha estáticos (FIXO) exemplo:
Pronto, agora você tem que colocar algo ligado na placa vermelha através de um hub ou cabo cross e a interface vermelha ligada no modem, e tente pingar o modem, se pingar o modem, tente pingar também algum site ou o ip de algum site.
É possível que você consiga pingar um site por ip, mas não por URL, nesse caso é necessário adicionar o endereço dos servidores DNS do seu provedor de ADSL no arquivo /etc/resolv.conf.
Mas o que proponho aqui é uma configuração simples pra fazer a coisa funcionar.
Faça o seguinte, supondo que o servidor DHCP está em outra máquina, coloque tanto o IP da interface verde como da vermelha estáticos (FIXO) exemplo:
- A placa vermelha como 192.168.10.2 ligada no modem 192.168.10.1.
- A placa verde como 192.168.1.254 ligada no switch.
# Interface de Rede Vermelha
auto eth0
iface eth0 inet static
address 192.168.10.2
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.2
# Interface de rede Verde
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
pre-up iptables -F
pre-up iptables -X
pre-up iptables -F -t nat
pre-up iptables -X -t nat
pre-up iptables -F -t filter
pre-up iptables -X -t filter
# Essa Parte faz com que o sinal da interface Vermelha passe para a Verde
# e vice-versa
pre-up iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
pre-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
pre-up echo 1 > /proc/sys/net/ipv4/ip_forward
iface eth0 inet static
address 192.168.10.2
netmask 255.255.255.0
network 192.168.10.0
broadcast 192.168.10.255
gateway 192.168.10.2
# Interface de rede Verde
auto eth1
iface eth1 inet static
address 192.168.1.1
netmask 255.255.255.0
network 192.168.1.0
broadcast 192.168.1.255
pre-up iptables -F
pre-up iptables -X
pre-up iptables -F -t nat
pre-up iptables -X -t nat
pre-up iptables -F -t filter
pre-up iptables -X -t filter
# Essa Parte faz com que o sinal da interface Vermelha passe para a Verde
# e vice-versa
pre-up iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-port 3128
pre-up iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
pre-up echo 1 > /proc/sys/net/ipv4/ip_forward
Pronto, agora você tem que colocar algo ligado na placa vermelha através de um hub ou cabo cross e a interface vermelha ligada no modem, e tente pingar o modem, se pingar o modem, tente pingar também algum site ou o ip de algum site.
É possível que você consiga pingar um site por ip, mas não por URL, nesse caso é necessário adicionar o endereço dos servidores DNS do seu provedor de ADSL no arquivo /etc/resolv.conf.