Criar maquina de Firewall

13. Re: Criar maquina de Firewall

Diego da Silva
linux-4ever

(usa CentOS)

Enviado em 10/05/2013 - 15:21h

Buckminster escreveu:

dsdiego escreveu:

Buckminster escreveu:

Sim. A tua eth1 deve ser conectada via cabo ao modem/roteador e a eth0 (a saída para a rede interna) no switch. Conecta na primeira ou na última porta do switch.



beleza, agora amigo tenho mais 2 roteadores para rede wi-fi "espalhados pela casa" eu conecto eles no switch normal??


Sim. Conecta eles no switch. Mas de preferência desabilita o DHCP e o NAT desses roteadores wireless. Deixa eles como Access Point. Somente configura a senha de acesso com WPA/WPA2 com tkip. Deixe que eles "peguem" as configurações de DHCP e NAT do servidor.
A menos que que você PRECISE criar WLANs, daí configure eles como roteadores. Mas tenha cuidado ao configurar, pois isso pode causar instabilidade nas redes wireless que saírem deles.


Cara fiz as configurações seguindo suas dicas aqui no tópico e no tutorial que você me passou,

mas ta dando um erro, quando finalmente vou ligar o modem no firewall e a outra placa de rede no switch.. eu fico sem internet..

talvez seja pelas regras do firewall...uma pergunta exite algum script de firewall "padrão" para o funcionamento do servidor com as 2 placas de rede??? e depois sim vou aplicando minhas politicas??


  


14. Re: Criar maquina de Firewall

Buckminster
Buckminster

(usa Debian)

Enviado em 10/05/2013 - 17:04h

Posta aqui teu script do IPtables e teu arquivo das interfaces.


15. Re: Criar maquina de Firewall

Diego da Silva
linux-4ever

(usa CentOS)

Enviado em 10/05/2013 - 17:56h

Buckminster escreveu:

Posta aqui teu script do IPtables e teu arquivo das interfaces.



Ta na mão, nesse script testei várias coisas, por isso que tem coisa comentada, mas já havia testado antes par ver se funcionava..

#!/bin/bash

#modprobe
iptable_nat
echo 1 > /proc/sys/net/ipv4/ip_forward

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

echo
"# Limpando as regras anteriores"

iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle

echo "COnfigurações de interfaces"

IP_range=192.168.0.0/24

# Faixa de IP.
WAN_iface=eth1
#conexão com a internet
LAN_iface=eth0

#conexão com a rede interna
#echo "# modulo de repasse e o conntrack que habilita a parte do status de conexão"
#echo "1" > /proc/sys/net/ipv4/ip_forward

#modprobe ip_conntrack


iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP



"# Permitindo acesso do servidor pela internet e pela rede interna"

#iptables -t filter -A INPUT -i $WAN_iface -j ACCEPT
#iptables -t filter -A OUTPUT -o $WAN_iface -j ACCEPT
#iptables -t filter -A INPUT -s $IP_range -j ACCEPT
#iptables -t filter -A OUTPUT -d $IP_range -j ACCEPT






iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 443 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 22 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 8080 -j ACCEPT
#iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 0:65535 -j DROP
#iptables nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE


exit 0;


interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback



allow-hotplug eth0
iface eth0 inet static

address 10.1.1.200
netmask 255.255.255.0
broadcast 10.1.1.255

# The primary network interface

allow-hotplug eth1
iface eth1 inet dhcp



16. Re: Criar maquina de Firewall

Buckminster
Buckminster

(usa Debian)

Enviado em 10/05/2013 - 18:18h

Você criou um script de firewall ou colocou essas regras dentro do /etc/rc.local?
Se não colocou dentro do /etc/rc.local, tira o exit 0; do final.

Descomenta essa linha:
echo "1" > /proc/sys/net/ipv4/ip_forward

Descomenta essa linha e deixa ela assim:
iptables -t nat -A POSTROUTING -o $WAN_iface -j MASQUERADE


interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback

# Primeira placa de rede
allow-hotplug eth0
iface eth0 inet static
address 10.1.1.200 << aqui teu IP está em outra faixa do range do IPtables.
netmask 255.255.255.0
broadcast 10.1.1.255 << aqui também.

# The secondary network interface
allow-hotplug eth1
iface eth1 inet dhcp

Deixa ele assim:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback

# Primeira placa de rede
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255

# The secondary network interface
allow-hotplug eth1
iface eth1 inet dhcp

Você tem o serviço de DHCP instalado nesse servidor?


17. Re: Criar maquina de Firewall

Diego da Silva
linux-4ever

(usa CentOS)

Enviado em 10/05/2013 - 18:24h

Buckminster escreveu:

Você criou um script de firewall ou colocou essas regras dentro do /etc/rc.local?
Se não colocou dentro do /etc/rc.local, tira o exit 0; do final.

Descomenta essa linha:
echo "1" > /proc/sys/net/ipv4/ip_forward

Descomenta essa linha e deixa ela assim:
iptables -t nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE


interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback

# Primeira placa de rede
allow-hotplug eth0
iface eth0 inet static
address 10.1.1.200 << aqui teu IP está em outra faixa do range do IPtables.
netmask 255.255.255.0
broadcast 10.1.1.255 << aqui também.

# The secondary network interface
allow-hotplug eth1
iface eth1 inet dhcp

Deixa ele assim:

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface

auto lo
iface lo inet loopback

# Primeira placa de rede
allow-hotplug eth0
iface eth0 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255

# The secondary network interface
allow-hotplug eth1
iface eth1 inet dhcp

Você tem o serviço de DHCP instalado nesse servidor?



ele está dentro do init.d mas eu troco

e tenho o dhcp configurado(como você ensina no tutotial), mas achei que o erro poderia ser ali e desativei ele..



18. Re: Criar maquina de Firewall

Buckminster
Buckminster

(usa Debian)

Enviado em 10/05/2013 - 18:26h

Deixa o arquivo do script dentro do init.d.

Se você desabilitar o DHCP não vai funcionar mesmo porque a tua rede não "pegará" IP.

Vamos por partes.

Posta aqui tua subnet do dhcpd.conf.



19. Re: Criar maquina de Firewall

Diego da Silva
linux-4ever

(usa CentOS)

Enviado em 10/05/2013 - 19:08h

Buckminster escreveu:

Deixa o arquivo do script dentro do init.d.

Se você desabilitar o DHCP não vai funcionar mesmo porque a tua rede não "pegará" IP.

Vamos por partes.

Posta aqui tua subnet do dhcpd.conf.



Ok. segue a subnet:
mas eu havia deixado o dhcp do modem ativo.


subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.221;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers 192.168.0.1, 8.8.8.8;





20. Re: Criar maquina de Firewall

Buckminster
Buckminster

(usa Debian)

Enviado em 10/05/2013 - 19:33h

dsdiego escreveu:

Buckminster escreveu:

Deixa o arquivo do script dentro do init.d.

Se você desabilitar o DHCP não vai funcionar mesmo porque a tua rede não "pegará" IP.

Vamos por partes.

Posta aqui tua subnet do dhcpd.conf.



Ok. segue a subnet:
mas eu havia deixado o dhcp do modem ativo.


subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.221;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers 192.168.0.1, 8.8.8.8;





Veja bem, o DHCP do modem irá fornecer IP somente para a tua placa de rede de entrada da internet no servidor (no caso a eth1). O DHCP do teu servidor irá fornecer IPs para tua rede interna. A regra de compartilhamento no IPtables "pegará" tudo que entrar pela eth1 e passará para a eth0. A regra echo "1"... no IPtables ativa o compartilhamento possibilitando duas redes diferentes "conversarem" entre si. No caso, a eth0 e a eth1 do servidor estão em redes diferentes, são redes distintas, portanto, precisa do tradutor (NAT).

Deixe assim tua subnet:

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.221;
option routers 192.168.0.1; << este IP deve ser o mesmo fixado na placa de saída para a rede interna (no caso, a eth0), pois ela é o gateway da tua rede interna.
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4,192.168.0.1; << aqui sempre deixe o IP do gateway (options routers) por último.

Entendeu? As configurações dos IPs devem "apontar" um para o outro nos arquivos.

No dhcpd.conf tem duas opções no início: option domain...ns1.exemple.org ou algo parecido, não lembro agora. Você deve comentar essas duas opções e descomentar a opção "authoritative".

No DHCP tem um arquivo /etc/default/isc-dhcp-server (no CentOs não lembro agora se é esse o caminho), mas nesse arquivo vai estar dentro dele INTERFACES="", no meio das aspas você coloca a eth0, pois será ela que responderá pelo DHCP da tua rede interna.

Veja esse link:
http://www.vivaolinux.com.br/artigo/Redes-de-Computadores-IPtables-Enderecos-IPs-Explicacoes-basicas...

Dúvidas, posta aqui.


21. Re: Criar maquina de Firewall

Diego da Silva
linux-4ever

(usa CentOS)

Enviado em 12/05/2013 - 10:28h

Buckminster escreveu:

dsdiego escreveu:

Buckminster escreveu:

Deixa o arquivo do script dentro do init.d.

Se você desabilitar o DHCP não vai funcionar mesmo porque a tua rede não "pegará" IP.

Vamos por partes.

Posta aqui tua subnet do dhcpd.conf.



Ok. segue a subnet:
mas eu havia deixado o dhcp do modem ativo.


subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.221;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers 192.168.0.1, 8.8.8.8;





Veja bem, o DHCP do modem irá fornecer IP somente para a tua placa de rede de entrada da internet no servidor (no caso a eth1). O DHCP do teu servidor irá fornecer IPs para tua rede interna. A regra de compartilhamento no IPtables "pegará" tudo que entrar pela eth1 e passará para a eth0. A regra echo "1"... no IPtables ativa o compartilhamento possibilitando duas redes diferentes "conversarem" entre si. No caso, a eth0 e a eth1 do servidor estão em redes diferentes, são redes distintas, portanto, precisa do tradutor (NAT).

Deixe assim tua subnet:

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.221;
option routers 192.168.0.1; << este IP deve ser o mesmo fixado na placa de saída para a rede interna (no caso, a eth0), pois ela é o gateway da tua rede interna.
option broadcast-address 192.168.0.255;
option domain-name-servers 8.8.8.8,8.8.4.4,192.168.0.1; << aqui sempre deixe o IP do gateway (options routers) por último.

Entendeu? As configurações dos IPs devem "apontar" um para o outro nos arquivos.

No dhcpd.conf tem duas opções no início: option domain...ns1.exemple.org ou algo parecido, não lembro agora. Você deve comentar essas duas opções e descomentar a opção "authoritative".

No DHCP tem um arquivo /etc/default/isc-dhcp-server (no CentOs não lembro agora se é esse o caminho), mas nesse arquivo vai estar dentro dele INTERFACES="", no meio das aspas você coloca a eth0, pois será ela que responderá pelo DHCP da tua rede interna.

Veja esse link:
http://www.vivaolinux.com.br/artigo/Redes-de-Computadores-IPtables-Enderecos-IPs-Explicacoes-basicas...

Dúvidas, posta aqui.







Opa, seguinte antes de subir o servidor na minha rede, quero deixar ele pronto, e agora estou configurando o squid3..dei uma olha olhada aqui no forum e vi que é configurando de várias formas...

para iniciar eu devo configurar o squid.conf ou criar outro aquivo dentro do squid3??

ahhh.. de inicio quero bloquear alguns sites apenas só pra teste..


22. Re: Criar maquina de Firewall

Buckminster
Buckminster

(usa Debian)

Enviado em 12/05/2013 - 17:21h

Não faça isso. Primeiro teste como ele está, depois instale o Squid3. Esse é o procedimento correto.
Se você instalar o Squid3, sendo que já tem o IPtables, DHCP e outros serviços, se não navegar você não saberá quem está bloqueando o que. Ficará perdido.

Faça por partes e vá testando. Esse é o procedimento correto.

Ao instalar o Squid ele cria um squid.conf (é quilométrico o arquivo), daí você faz um bakcup dele e cria um squid.conf vazio e coloca dentro somente as regras que você quer.


23. Re: Criar maquina de Firewall

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 12/05/2013 - 19:48h

@dsdiego seu modem esta em modo bridge ou roteado ?




24. Re: Criar maquina de Firewall

Diego da Silva
linux-4ever

(usa CentOS)

Enviado em 22/05/2013 - 22:53h

Buckminster escreveu:

Não faça isso. Primeiro teste como ele está, depois instale o Squid3. Esse é o procedimento correto.
Se você instalar o Squid3, sendo que já tem o IPtables, DHCP e outros serviços, se não navegar você não saberá quem está bloqueando o que. Ficará perdido.

Faça por partes e vá testando. Esse é o procedimento correto.

Ao instalar o Squid ele cria um squid.conf (é quilométrico o arquivo), daí você faz um bakcup dele e cria um squid.conf vazio e coloca dentro somente as regras que você quer.


amigo, já estou a dias tentando fazer meu sever funcionar..mas não esta rolando...

vou postar aqui meu script de firewall novamente e dhcp quem sabe um olho mágico me de uma luz..

Quando conecto o modem na eth1 do server a rede funciona (somente para o servidor) mas a rede interna fica sem internet..

FIREWALL

#!/bin/bash

echo "# Limpando as regras anteriores"
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F OUTPUT
iptables -F FORWARD
iptables -F -t nat
iptables -X -t nat
iptables -F -t mangle
iptables -X -t mangle

#echo "# COnfigurações de interfaces"
IP_range=192.168.0.0/24 # Faixa de IP.
WAN_iface=eth0 #conexão com a internet
LAN_iface=eth1 #conexão com a rede interna

echo "# modulo de repasse e o conntrack que habilita a parte do status de conexão"
echo "1" > /proc/sys/net/ipv4/ip_forward
modprobe ip_conntrack

echo "# Policiando. Como sempre tudo parado, liberado só o necessário"

iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

echo "# Permitindo acesso do servidor pela internet e pela rede interna"

iptables -t filter -A INPUT -i $WAN_iface -j ACCEPT
iptables -t filter -A OUTPUT -o $WAN_iface -j ACCEPT
iptables -t filter -A INPUT -s $IP_range -j ACCEPT
iptables -t filter -A OUTPUT -d $IP_range -j ACCEPT

echo "# liberando só o desejado para a rede interna"
#aqui estáo segredo de tudo, sera liberando as portas 80,443,8080

iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 443 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 22 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 8080 -j ACCEPT
#iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 80 -j ACCEPT
iptables -t filter -A FORWARD -s $IP_range -p tcp --dport 0:65535 -j DROP

#echo "Mascaramento"
iptables -t nat -A POSTROUTING -s $IP_range -o $WAN_iface -j MASQUERADE
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE


DHCP

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.100 192.168.0.221;
option routers 192.168.0.1;
option broadcast-address 192.168.0.255;
option domain-name-servers 200.175.89.139,200.175.5.139,192.168.0.1;
}






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts