OpenVPN [RESOLVIDO]

13. Re: OpenVPN [RESOLVIDO]

Adriano Neves
adrcsn

(usa Outra)

Enviado em 01/03/2012 - 12:08h


A Rede interna da matriz é qual ? rede 192.168.20.0

O endereço de vpn do servidor da matriz é qual ? 10.0.0.1

A Rede interna da filial é qual ? 192.168.0.0

O endereço vpn do servidor da filial é qual ? 10.0.0.2

Ambos servidores são linux ? sim



  


14. Re: OpenVPN [RESOLVIDO]

Adriano Neves
adrcsn

(usa Outra)

Enviado em 01/03/2012 - 12:11h



A Rede interna da matriz é qual ? 192.168.20.0

O endereço de vpn do servidor da matriz é qual ? 10.0.0.1

A Rede interna da filial é qual ? 192.168.0.0

O endereço vpn do servidor da filial é qual ? 10.0.0.2

Ambos servidores são linux ? sim



15. Re: OpenVPN [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/03/2012 - 14:30h

Olá amigo,

O problema a final é que não há comunicação entre as duas redes internas, a rede da matriz e a rede da filial.

Para resolver isso estou sugerindo criar rotas e regras do iptables em ambos servidores (tanto no servidor da matriz omo no servidor da filial que faz parte da VPN).

No servidor da matriz execute os seguintes comandos:

**** supondo que a interface que liga o servidor a rede interna é eth0.
**** certifique-se que a interface tun0 é a interface realmente usada e que a mascara de rede da rede interna é 255.255.255.0

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -s 10.0.0.2 -A POSTROUTING -o eth0 -j MASQUERADE
# route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.2 dev tun0


No servidor da filial executa :

**** supondo que a interface que liga o servidor da filial a rede interna da filial é eth0
**** certifique-se que a interface tun0 é a interface realmente usada e que a mascara de rede da rede interna é 255.255.255.0

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -s 10.0.0.1 -A POSTROUTING -o eth0 -j MASQUERADE
# route add -net 192.168.20.0 netmask 255.255.255.0 gw 10.0.0.1 dev tun0


16. Re: OpenVPN [RESOLVIDO]

Adriano Neves
adrcsn

(usa Outra)

Enviado em 01/03/2012 - 17:52h

Ainda nada continua da mesma forma eu adicionei as 2 linhas ao scripts fiz o reload e mesma assim nada apenas os server os hosts não estão pingando.


17. Re: OpenVPN [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/03/2012 - 18:16h

Você executou os três comandos em ambos os servidores como sugerido, cada comando no seu devido servidor ?

As máquinas da rede interna conseguem pingar no servidor da matriz e vice-versa ?


18. Re: OpenVPN [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 01/03/2012 - 19:03h

Cara acho muito estranho depois de executar esses comandos sugeridos anteriormente não dê dado certo, por isso fui olhar seu script de firewall que você disse que roda em ambos os servidores.

Olhando seu script de firewall você está bloqueando requisições de pacotes icmp para o servidor e para redirecionamento :


SECURITY () {

# Rejeitar requisição de ICMP Echo destinado a Broadcasts e Multicasts

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

# Não Redirecionar Mensagens ICMP

echo 0 > $i/accept_redirects

}

LOG () {

iptables-A INPUT -p icmp -j DROP

}

Permita redirecionamentos de pacotes icmp, caso contrario não irá funcionar o redirecionamento de pacotes icmp.

echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts
echo 1 > $i/accept_redirects
iptables-A INPUT -p icmp -j ACCEPT

Permita o redirecionamento de pacotes no script de ambos os servidores:

No servidor da filial coloque essa regra abaixo:

# iptables -I FORWARD -i tun0 -d 192.168.0.0/24 -j ACCEPT

No servidor da matriz coloque essa regra abaixo:

# iptables -I FORWARD -i tun0 -d 192.168.20.0/24 -j ACCEPT


19. Re: OpenVPN [RESOLVIDO]

Adriano Neves
adrcsn

(usa Outra)

Enviado em 02/03/2012 - 12:17h

Cara ainda nada

Eu fiz essas seguintes regras para liberar o tunelamento.

Liberando porta de conexão VPN
iptables -A INPUT -i eth1 -p udp --dport 1194 -j ACCEPT


Liberando o tráfego do túnel
iptables -A FORWARD -i tun+ -j ACCEPT
iptables -A FORWARD -p udp -i eth1 --dport 1194 -j ACCEPT
iptables -I FORWARD -i tun0 -d 192.168.0.0/24 -j ACCEPT


e as outras configurações que me enviou é muito estranho mesmo... ainda só continuo pingando os hosts dentro dos servidor.


já dei uma olhada de novo no script do firewall com todas as regras mais nada.


20. Re: OpenVPN [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2012 - 12:30h

Amigo você está colocando as alterações no script ou está executando as alterações a parte e depois executa o script sem as alterações dentro do script ?

Bom.. vou olhar detalhadamente seu script de firewall pois tem alguma regra impedindo que trafego seja roteado ou falta alguma rota.




21. Re: OpenVPN [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2012 - 12:47h

Pode postar o conf do cliente e do servidor ?


22. Re: OpenVPN [RESOLVIDO]

Adriano Neves
adrcsn

(usa Outra)

Enviado em 02/03/2012 - 12:51h

tem sim eu ate mudei o script de um amigo meu posso te mandar por e-mail?


23. Re: OpenVPN [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/03/2012 - 12:58h

Pode postar aqui os confs do openvpn tanto do matriz quanto do filial ?


Amigo você está colocando as alterações no script de firewall ou está executando as alterações a parte e depois executa o script de firewall sem as alterações dentro do script ?


24. Re: OpenVPN [RESOLVIDO]

Adriano Neves
adrcsn

(usa Outra)

Enviado em 02/03/2012 - 13:04h

To te enviando as 2 confs ate alterei o script que um amigo meu me disponibilizou


Filial


# IP da Rede
NETWORK=192.168.0.0/24

# Interface da Rede Local - LAN
ILAN=eth0

# Interface da Rede Externa - Internet
INET=eth1

IPT=/sbin/iptables

if [ ! -x $IPT ]; then
if [ -e $IPT ]; then
echo "O programa 'iptables' está sem permissão de execução"
else
echo "O programa 'iptables' não está instalado atualmente. Você pode instalá-lo digitando:"
echo "sudo apt-get install iptables"
fi
exit 0
fi

CLEAN_RULES () {
# Removendo regras
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

# Apagando chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Zerando contadores
$IPT -Z
$IPT -t nat -Z
$IPT -t mangle -Z
}

REDIRECT () {
# Redirecionamento
$IPT -t nat -A PREROUTING -i $ILAN -p tcp --dport 80 -j REDIRECT --to-port 3128

}

SHARE_INTERNET () {
#Mascaramento
$IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE

# Ativando o redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -s 10.0.0.1 -A POSTROUTING -o $INET -j MASQUERADE
route add -net 192.168.20.0 netmask 255.255.255.0 gw 10.0.0.1 dev tun0
}

SECURITY () {
# Proteção para SYN Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Rejeitar requisição de ICMP Echo destinado a Broadcasts e Multicasts
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Ignorar Mensagens Falsas de icmp_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

for i in /proc/sys/net/ipv4/conf/*; do
# Não Redirecionar Mensagens ICMP
echo 1 > $i/accept_redirects

# Proteção a Ataques IP Spoofing
echo 0 > $i/accept_source_route

# O kernel decide se envia resposta pelo mesmo endereço ou não.
echo 1 > $i/arp_filter

# Permitir que Pacotes Forjados sejam logados pelo próprio kernel
echo 1 > $i/log_martians

# Verificar Endereço de Origem do Pacote (Proteção a Ataques IP Spoofing)
echo 1 > $i/rp_filter
done
}

LOG () {
$IPT -A INPUT -i $INET -p tcp --dport 135 -j DROP
$IPT -A INPUT -p tcp -m multiport ! --dports 0:1056 -j DROP
$IPT -A INPUT -p udp -j ACCEPT
$IPT -A INPUT -p icmp -j ACCEPT
$IPT -A INPUT -m limit --limit 3/m --limit-burst 3 -j LOG --log-prefix "LOG-FW: "
}

SERVER_RULES () {
# Apache - Servidor Web
$IPT -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Apache TomCat - Servidor Web
$IPT -A INPUT -p tcp --dport 8080 -j ACCEPT

# Bind9 - Servidor DNS
#$IPT -A INPUT -p udp --dport 53 -j ACCEPT

# DanGuardian - Servidor Proxy
#$IPT -A INPUT -i $ILAN -p tcp --dport 8080 -j ACCEPT

# DHCP - Servidor DHCP
$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT

# IPP - Protocolo de Impressão na Internet
$IPT -A INPUT -i $ILAN -p tcp --dport 631 -j ACCEPT
$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 138,631 -j ACCEPT

# NFS - Servidor NFS
$IPT -A INPUT -p tcp -m multiport --dports 111,2049,51049 -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dports 111,49176,50445 -j ACCEPT

# ProFTPD - Servidor FTP
$IPT -A INPUT -i $ILAN -p tcp --dport 21 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 20 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 49152:49162 -j ACCEPT

# Postfix - Servidor de E-mail
#$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 25,110 -j ACCEPT
#$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 465,995 -j ACCEPT

# PostgreSQL - Servidor Postgresql
$IPT -A INPUT -i $ILAN -p tcp --dport 5432 -j ACCEPT

# Samba - Serviços de Diretório da Microsoft
#$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 445,139 -j ACCEPT
#$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 137,138 -j ACCEPT

# Squid - Servidor Proxy
$IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT

# SSH - Servidor SSH
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 20 -j DROP
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --set
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -j ACCEPT

# TFTP/uDHCP - Servidor LTSP
$IPT -A INPUT -i $ILAN -p udp --dport 69 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 2000 -j ACCEPT
$IPT -A INPUT -i $ILAN -p udp --dport 514 -j ACCEPT

# VNC - Servidor de Acesso Remoto
#$IPT -A INPUT -p tcp --dport 5900 -j ACCEPT

# Webmin - Gerenciador Web de Servidor
#$IPT -A INPUT -i $ILAN -p tcp --dport 10000 -j ACCEPT

# MYSQL -Servidor de Bancos MYSQLserver
$IPT -A INPUT -p tcp --dport 3306 -j ACCEPT

# Telefonia -Liberar portas da Telefonia
$IPT -A INPUT -i $ILAN -p tcp --dport 4020 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 4028 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 4020 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 4028 -j ACCEPT

# Liberando tráfego do túnel
$IPT -A INPUT -i tun+ -j ACCEPT
$IPT -A INPUT -p icmp -j ACCEPT

# Liberando porta de conexão VPN
$IPT -A INPUT -i $INET -p udp --dport 1194 -j ACCEPT

}

SERVICE_RULES () {

# DNS - Serviço de Nomes de Dominios
$IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT

# FTP - Protocolo de Transferência de Arquivo
$IPT -A FORWARD -o $INET -p tcp --dport 21 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 20 -j ACCEPT

# HTTP - Protocolo de Transferência de Hypertext
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 80,8080 -j ACCEPT

# HTTPS - Protocolo de Transferência de Hypertext Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT

# MSNMS - Serviço de Mensageiro de Rede da Microsoft
#$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 1863,7001 -j ACCEPT
#$IPT -A FORWARD -o $INET -p udp --dport 7001 -j ACCEPT

# NTP - Protocolo para sincronização dos relógios
#$IPT -A FORWARD -o $INET -p udp --dport 123 -j ACCEPT

# Ping
$IPT -A INPUT -i $ILAN -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -o $INET -p icmp --icmp-type 8 -j ACCEPT

# POP3 - Protocolo de Correio
$IPT -A FORWARD -o $INET -p tcp --dport 110 -j ACCEPT

# POP3S - Protocolo de Correio Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 995 -j ACCEPT

# PPTP - Protocolo de Encapsulamento Ponto a Ponto
$IPT -A FORWARD -o $INET -p tcp --dport 1723 -j ACCEPT

# RDP - Protocolo de Área de Trabalho Remota
#$IPT -A FORWARD -o $INET -p tcp --dport 3389 -j ACCEPT

# SSDP - Protocolo para Descoberta de Serviços Simples
$IPT -A INPUT -i $ILAN -p udp --dport 1900 -j ACCEPT

# SSH - Shell Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 22 -j ACCEPT

# SMTP - Protocolo Simples para Transferência de Correio
$IPT -A FORWARD -o $INET -p tcp --dport 25 -j ACCEPT

# SSMTP - Protocolo Simples para Transferência de Correio Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 465 -j ACCEPT

# TELNET
#$IPT -A FORWARD -o $ILAN -p tcp --dport 23 -j ACCEPT

# VNC - Computação em Rede Virtual
#$IPT -A FORWARD -o $ILAN -p tcp --dport 5900 -j ACCEPT

# XMPP - Protocolo de Presença e Mensagens Extensiva
$IPT -A FORWARD -o $INET -p tcp --dport 5222 -j ACCEPT

# MYSQL - Liberando o MYSQL
$IPT -A FORWARD -p tcp --dport 3306 -j ACCEPT

# Liberando o tráfego do túnel
$IPT -A FORWARD -i tun+ -j ACCEPT
$IPT -A FORWARD -p udp -i $INET --dport 1194 -j ACCEPT
$IPT -I FORWARD -i tun0 -d 192.168.0.0/24 -j ACCEPT

# ReceitaNet - Acesso ao site da receita
$IPT -A FORWARD -o $INET -p tcp --dport 3456 -j ACCEPT
$IPT -A FORWARD -o $INET -p udp --dport 3456 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 2361 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 3007 -j ACCEPT

# Telefonia - Liberar portas da Telefonia
$IPT -A FORWARD -o $INET -p tcp --dport 4020 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 4028 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 4020 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 4028 -j ACCEPT

}

ENABLE_FW () {
# Removendo regras, apagando chains e zerando contadores
CLEAN_RULES

# Política
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP

# Adicionando redirecionamentos
REDIRECT

# Compartilhando a Internet
SHARE_INTERNET

# Atribuindo segurança
SECURITY

# Adicionando regras p/ Servidores
SERVER_RULES

# Adicionando regras p/ Serviços
SERVICE_RULES

# Manter Conexões Estabelecidas
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando o Tráfego na Interface loopback
$IPT -A INPUT -i lo -j ACCEPT

# LOGs
LOG
}

# Carrega os módulos() {
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp


DISABLE_FW () {
# Removendo regras, apagando chains e zerando contadores
CLEAN_RULES

# Política
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# Adicionando redirecionamentos
REDIRECT

# Compartilhando a Internet
SHARE_INTERNET
}

MODULES () {
MOD=(
"iptable_filter"
"iptable_nat"
"iptable_mangle"
"ipt_LOG"
"ipt_REDIRECT"
"ipt_MASQUERADE"

)

for N in $(seq 0 $[${#MOD[@]}-1]); do
if [ -z "$(lsmod | grep ${MOD[$N]})" ]; then
/sbin/modprobe ${MOD[$N]}
fi
done
}

EXEC () {
if [ $(whoami) = "root" ]; then
MODULES
$1
RET=0
else
echo "You're not a user root: Operation not permitted"
RET=1
fi
}

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting Firewall" "iptables"
EXEC ENABLE_FW
;;
stop)
log_daemon_msg "Stopping Firewall" "iptables"
EXEC DISABLE_FW
;;
restart|reload)
log_action_begin_msg "Reloading Firewall configuration"
EXEC ENABLE_FW
echo -n "Reloading Firewall configuration rules"
;;
*)
log_success_msg "Usage: $0 {start|stop|restart|reload}"
esac

log_end_msg $RET
exit $RET



Matriz


# IP da Rede
NETWORK=192.168.20.0/24

# Interface da Rede Local - LAN
ILAN=eth0

# Interface da Rede Externa - Internet
INET=eth1

IPT=/sbin/iptables

if [ ! -x $IPT ]; then
if [ -e $IPT ]; then
echo "O programa 'iptables' está sem permissão de execução"
else
echo "O programa 'iptables' não está instalado atualmente. Você pode instalá-lo digitando:"
echo "sudo apt-get install iptables"
fi
exit 0
fi

CLEAN_RULES () {
# Removendo regras
$IPT -F
$IPT -t nat -F
$IPT -t mangle -F

# Apagando chains
$IPT -X
$IPT -t nat -X
$IPT -t mangle -X

# Zerando contadores
$IPT -Z
$IPT -t nat -Z
$IPT -t mangle -Z
}

REDIRECT () {
# Redirecionamento
$IPT -t nat -A PREROUTING -i $ILAN -p tcp --dport 80 -j REDIRECT --to-port 3128

}


SHARE_INTERNET () {
# Mascaramento
$IPT -t nat -A POSTROUTING -o $INET -s $NETWORK -j MASQUERADE

# Ativando o redirecionamento de pacotes
echo 1 > /proc/sys/net/ipv4/ip_forward
$IPT -t nat -s 10.0.0.2 -A POSTROUTING -o $INET -j MASQUERADE
route add -net 192.168.0.0 netmask 255.255.255.0 gw 10.0.0.2 dev tun0
}

SECURITY () {
# Proteção para SYN Flood
echo 1 > /proc/sys/net/ipv4/tcp_syncookies

# Rejeitar requisição de ICMP Echo destinado a Broadcasts e Multicasts
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

# Ignorar Mensagens Falsas de icmp_error_responses
echo 1 > /proc/sys/net/ipv4/icmp_ignore_bogus_error_responses

for i in /proc/sys/net/ipv4/conf/*; do
# Não Redirecionar Mensagens ICMP
echo 1 > $i/accept_redirects

# Proteção a Ataques IP Spoofing
echo 0 > $i/accept_source_route

# O kernel decide se envia resposta pelo mesmo endereço ou não.
echo 1 > $i/arp_filter

# Permitir que Pacotes Forjados sejam logados pelo próprio kernel
echo 1 > $i/log_martians

# Verificar Endereço de Origem do Pacote (Proteção a Ataques IP Spoofing)
echo 1 > $i/rp_filter
done
}

LOG () {
$IPT -A INPUT -i $INET -p tcp --dport 135 -j DROP
$IPT -A INPUT -p tcp -m multiport ! --dports 0:1056 -j DROP
$IPT -A INPUT -p udp -j DROP
$IPT -A INPUT -p icmp -j ACCEPT
$IPT -A INPUT -m limit --limit 3/m --limit-burst 3 -j LOG --log-prefix "LOG-FW: "
}

SERVER_RULES () {
# Apache - Servidor Web
$IPT -A INPUT -p tcp -m multiport --dports 80,443 -j ACCEPT

# Apache TomCat - Servidor Web
$IPT -A INPUT -p tcp --dport 8080 -j ACCEPT

# Bind9 - Servidor DNS
#$IPT -A INPUT -p udp --dport 53 -j ACCEPT

# DanGuardian - Servidor Proxy
#$IPT -A INPUT -i $ILAN -p tcp --dport 8080 -j ACCEPT

# DHCP - Servidor DHCP
$IPT -A INPUT -i $ILAN -p udp --sport 68 --dport 67 -j ACCEPT

# IPP - Protocolo de Impressão na Internet
$IPT -A INPUT -i $ILAN -p tcp --dport 631 -j ACCEPT
$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 138,631 -j ACCEPT

# NFS - Servidor NFS
$IPT -A INPUT -p tcp -m multiport --dports 111,2049,51049 -j ACCEPT
$IPT -A INPUT -p udp -m multiport --dports 111,49176,50445 -j ACCEPT

# ProFTPD - Servidor FTP
$IPT -A INPUT -i $ILAN -p tcp --dport 21 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 20 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 49152:49162 -j ACCEPT

# Postfix - Servidor de E-mail
#$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 25,110 -j ACCEPT
#$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 465,995 -j ACCEPT

# PostgreSQL - Servidor Postgresql
$IPT -A INPUT -i $ILAN -p tcp --dport 5432 -j ACCEPT

# Samba - Serviços de Diretório da Microsoft
#$IPT -A INPUT -i $ILAN -p tcp -m multiport --dports 445,139 -j ACCEPT
#$IPT -A INPUT -i $ILAN -p udp -m multiport --dports 137,138 -j ACCEPT

# Squid - Servidor Proxy
$IPT -A INPUT -i $ILAN -p tcp --dport 3128 -j ACCEPT

# SSH - Servidor SSH
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --update --seconds 300 --hitcount 20 -j DROP
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -m state --state NEW -m recent --set
$IPT -A INPUT -i $ILAN -p tcp --dport 22 -j ACCEPT
$IPT -A INPUT -i $INET -p tcp --dport 22 -j ACCEPT

# TFTP/uDHCP - Servidor LTSP
$IPT -A INPUT -i $ILAN -p udp --dport 69 -j ACCEPT
$IPT -A INPUT -i $ILAN -p tcp --dport 2000 -j ACCEPT
$IPT -A INPUT -i $ILAN -p udp --dport 514 -j ACCEPT

# Webmin - Gerenciador Web de Servidor
#$IPT -A INPUT -i $ILAN -p tcp --dport 10000 -j ACCEPT

# Liberando o tráfego do túnel
$IPT -A INPUT -i tun+ -j ACCEPT
$IPT -A INPUT -p icmp -j ACCEPT

# Liberando porta de conexão VPN
$IPT -A INPUT -i $ILAN -p udp --dport 1194 -j ACCEPT

}

SERVICE_RULES () {
# DNS - Serviço de Nomes de Dominios
$IPT -A FORWARD -o $INET -p udp -m multiport --dports 53,5353 -j ACCEPT

# FTP - Protocolo de Transferência de Arquivo
$IPT -A FORWARD -o $INET -p tcp --dport 21 -j ACCEPT
$IPT -A FORWARD -o $INET -p tcp --dport 20 -j ACCEPT

# HTTP - Protocolo de Transferência de Hypertext
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 80,8080 -j ACCEPT

# HTTPS - Protocolo de Transferência de Hypertext Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 443 -j ACCEPT

# MSNMS - Serviço de Mensageiro de Rede da Microsoft
$IPT -A FORWARD -o $INET -p tcp -m multiport --dports 1863,7001 -j ACCEPT
$IPT -A FORWARD -o $INET -p udp --dport 7001 -j ACCEPT

# NTP - Protocolo para sincronização dos relógios
#$IPT -A FORWARD -o $INET -p udp --dport 123 -j ACCEPT

# Ping
$IPT -A INPUT -i $ILAN -p icmp --icmp-type 8 -j ACCEPT
$IPT -A FORWARD -o $INET -p icmp --icmp-type 8 -j ACCEPT

# POP3 - Protocolo de Correio
$IPT -A FORWARD -o $INET -p tcp --dport 110 -j ACCEPT

# POP3S - Protocolo de Correio Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 995 -j ACCEPT

# PPTP - Protocolo de Encapsulamento Ponto a Ponto
$IPT -A FORWARD -o $INET -p tcp --dport 1723 -j ACCEPT

# RDP - Protocolo de Área de Trabalho Remota
#$IPT -A FORWARD -o $INET -p tcp --dport 3389 -j ACCEPT

# SSDP - Protocolo para Descoberta de Serviços Simples
$IPT -A INPUT -i $ILAN -p udp --dport 1900 -j ACCEPT

# SSH - Shell Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 22 -j ACCEPT

# SMTP - Protocolo Simples para Transferência de Correio
$IPT -A FORWARD -o $INET -p tcp --dport 25 -j ACCEPT

# SSMTP - Protocolo Simples para Transferência de Correio Seguro
$IPT -A FORWARD -o $INET -p tcp --dport 465 -j ACCEPT

# TELNET
$IPT -A FORWARD -o $ILAN -p tcp --dport 23 -j ACCEPT

# VNC - Computação em Rede Virtual
#$IPT -A FORWARD -o $ILAN -p tcp --dport 5900 -j ACCEPT

# XMPP - Protocolo de Presença e Mensagens Extensiva
#$IPT -A FORWARD -o $INET -p tcp --dport 5222 -j ACCEPT


# Liberando tráfego de túnel
$IPT -A FORWARD -i tun+ -j ACCEPT
$IPT -I FORWARD -i tun0 -d 192.168.20.0/24 -j ACCEPT

}

ENABLE_FW () {
# Removendo regras, apagando chains e zerando contadores
CLEAN_RULES

# Política
$IPT -P INPUT DROP
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD DROP

# Adicionando redirecionamentos
REDIRECT

# Compartilhando a Internet
SHARE_INTERNET

# Atribuindo segurança
SECURITY

# Adicionando regras p/ Servidores
SERVER_RULES

# Adicionando regras p/ Serviços
SERVICE_RULES

# Manter Conexões Estabelecidas
$IPT -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPT -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

# Liberando o Tráfego na Interface loopback
$IPT -A INPUT -i lo -j ACCEPT

# LOGs
LOG
}

# Carrega os módulos ftp () {
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_nat_ftp



DISABLE_FW () {
# Removendo regras, apagando chains e zerando contadores
CLEAN_RULES

# Política
$IPT -P INPUT ACCEPT
$IPT -P OUTPUT ACCEPT
$IPT -P FORWARD ACCEPT

# Adicionando redirecionamentos
REDIRECT

# Compartilhando a Internet
SHARE_INTERNET
}

MODULES () {
MOD=(
"iptable_filter"
"iptable_nat"
"iptable_mangle"
"ipt_LOG"
"ipt_REDIRECT"
"ipt_MASQUERADE"
)

for N in $(seq 0 $[${#MOD[@]}-1]); do
if [ -z "$(lsmod | grep ${MOD[$N]})" ]; then
/sbin/modprobe ${MOD[$N]}
fi
done
}

EXEC () {
if [ $(whoami) = "root" ]; then
MODULES
$1
RET=0
else
echo "You're not a user root: Operation not permitted"
RET=1
fi
}

. /lib/lsb/init-functions

case "$1" in
start)
log_daemon_msg "Starting Firewall" "iptables"
EXEC ENABLE_FW
;;
stop)
log_daemon_msg "Stopping Firewall" "iptables"
EXEC DISABLE_FW
;;
restart|reload)
log_action_begin_msg "Reloading Firewall configuration"
EXEC ENABLE_FW
echo -n "Reloading Firewall configuration rules"
;;
*)
log_success_msg "Usage: $0 {start|stop|restart|reload}"
esac

log_end_msg $RET
exit $RET


Como te disse ontem a noite peguei esse scripts e alterei para minha rede mais também nada


Obrigado mesmo pela ajuda





01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts