Servidor não conecta a internet

13. VM

André Canhadas
andrecanhadas

(usa Debian)

Enviado em 04/05/2012 - 23:01h

guners escreveu:

ele está em bridge

as regras do iptables estão todas limpas, é uma maquina virtual,

alguma ideia?


Na sua maquina virtual as placas de rede estão definidas como bridge?


  


14. Re: Servidor não conecta a internet

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 04/05/2012 - 23:16h

guners escreveu:

ele está em bridge

as regras do iptables estão todas limpas, é uma maquina virtual,

alguma ideia?


Ah, máquina virtual, então em adaptador de redes (caso seja VirtualBox)
No adaptador1 deixe como NAT (receberá do dhcp do modem Ex:(10.x.x.x)
No adaptador2 deixe como bridge (define um ip static
Ex: (192.168.1.x)

em outra vm ou host aponta o gw o ip do segundo adaptador2 (nesse caso)


#!/bin/bash
#Função: Regras Iptables de configuração do Firewall
#eth0=internet e eth1=rede local
#Variáveis
ifaceExt="eth0" #acesso internet
ifaceInt="eth1" #acesso intranet(rede interna)
LAN="192.168.1.0/24" #rede local
#carrega módulos
/sbin/modprobe ip_nat
/sbin/modprobe ip_nat_ftp
/sbin/modprobe ip_queue
/sbin/modprobe ip_conntrack
/sbin/modprobe ip_conntrack_ftp
/sbin/modprobe ip_tables
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_nat
/sbin/modprobe iptable_mangle
/sbin/modprobe ipt_state
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_multiport
/sbin/modprobe ipt_mac
/sbin/modprobe ipt_string
start(){
echo "Firewall iniciando..............................[OK]";
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
#política padrão
iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT DROP

#Permite pacotes transmitidos através da interface de loopback(localhost)
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT
#políticas chain INPUT
iptables -A INPUT -p udp -dport 3128 -j ACCEPT #Squid
#políticas chain OUTPUT
iptables -A OUTPUT -p tcp --dport 80 -j ACCEPT #HTTP
iptables -A OUTPUT -p tcp --dport 443 -j ACCEPT #HTTPS
iptables -A OUTPUT -p tcp --dport 53 -j ACCEPT#DNS TCP
iptables -A OUTPUT -p udp --dport 53 -j ACCEPT #DNS UDP
iptables -A OUTPUT -p tcp --dport 25 -j ACCEPT #SMTP
iptables -A OUTPUT -p tcp --dport 3128 -j ACCEPT #Squid
#políticas chain FORWARD
#regra libera da rede interna para rede externa para as portas #20,21,25,110,143,449,587,993,3389
iptables -A FORWARD -i $ifaceInt -s $LAN -o $ifaceExt -m multiport -p tcp --dport 20,21,25,110,143,443,587,993,3389 -j ACCEPT
iptables -A FORWARD -i $ifaceInt -s $LAN -o $ifaceExt -p udp 53 -j ACCEP
iptables -A FORWARD -i $ifaceInt -s $LAN -o $ifaceExt -p icmp -j ACCEP
iptables -A FORWARD -i $ifaceInt -s $LAN -o $ifaceExt -p icmp -j ACCEP

#Compartilha a conexão, disponível na interface eth0:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
echo "Compartilhamento da rede ativo......................[OK]";

##Permitindo e filtrando conexões estabelecidas --statefull
iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

#Proxy Squid
iptables -t nat -A PREROUTING -s $LAN -i $ifaceInt -p tcp --dport 80 -j REDIRECT --to-port 3128

#Protege contra synflood
echo "1" > /proc/sys/net/ipv4/tcp_syncookies

#Protege contra ping na máquina
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_all

#Proteção contra ICMP Broadcasting
echo "1" > /proc/sys/net/ipv4/icmp_echo_ignore_broadcasts

#Proteção contra ataques DoS
iptables -A INPUT -m state -state INVALID -j DROP
iptables -A OUTPUT -p tcp ! -tcp-flags SYN,RST,ACK,SYN -m state -state NEW -j DROP

#Proteção contra IP Spoofing
iptables -A INPUT -s $LAN -i $ifaceExt -j DROP
for i in /proc/sys/net/ipv4/conf/*/rp_filter; do
echo "1" > $i
done

#Bloqueia tudo que não foi especificado acima:
iptables -A INPUT -p tcp -syn -j DROP
}
stop(){
#limpa as regras
iptables -F
iptables -X
iptables -Z
iptables -F INPUT
iptables -F FORWARD
iptables -F OUTPUT
iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z
iptables -t mangle -F
iptables -t mangle -X
iptables -t mangle -Z
#política padrão
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT

#Compartilha a conexão, disponível na interface eth0:
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A POSTROUTING -s $LAN -o $ifaceExt -j MASQUERADE
echo "Compartilhamento da rede ativo......................[OK]";
#Permitindo e filtrando conexões estabelecidas --statefull

iptables -t filter -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -t filter -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
echo "Firewall desativado!...............................[OK]";
}
case "$1" in
"start") start ;;
"stop") stop ;;
"restart") stop; start
;;
*)
echo "Use parâmetros start|stop|restart"
;;
esac


Adapte o script para o seu caso...


15. Re: Servidor não conecta a internet

alex
guners

(usa Ubuntu)

Enviado em 05/05/2012 - 07:06h

e na segunda maquina virtual, eu deixo como rede interna ou bridge?

para que a primeira enxergue a segunda e ao contrario tambem

coloquei a servidor como nat na eth0 e rede interna na eth1, só falta conectar na internet na segunda maquina, apontei o gateway para o ip da eth1 e da eth0 e nada funcionou


16. Re: Servidor não conecta a internet

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 05/05/2012 - 13:59h

guners escreveu:

e na segunda maquina virtual, eu deixo como rede interna ou bridge?

para que a primeira enxergue a segunda e ao contrario tambem

coloquei a servidor como nat na eth0 e rede interna na eth1, só falta conectar na internet na segunda maquina, apontei o gateway para o ip da eth1 e da eth0 e nada funcionou


Ok, eth0 como NAT e eth1 como rede interna.
Agora na VM2 coloca a interface como rede interna apontado o gw o ip da interface eth1 conforme definido na VM1.
Na VM1(Servidor) cria as regras de compartilhamento(veja o script com regras básicas de iptables que postei anterior.
Colocar os endereços DNS de terceiros, por ex: do Google(8.8.8.8,8.8.4.4) em /etc/resolv.conf.
E na VM2(Cliente) define um ip fixo na mesma faixa.
Ex: VM1-192.168.1.3 e VM2-192.168.1.4 gw-192.168.1.3 DNS-8.8.8.8/8.8.4.4.

Pronto, faça corretamente conforme descrito, que esse são os passos...


17. Re: Servidor não conecta a internet

alex
guners

(usa Ubuntu)

Enviado em 06/05/2012 - 12:15h

ae, funcionou, muito obrigado

não tava compartilhando a conexão por causa da regra do MASQUERADE que não tinha colocado





01 02



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts