Configurar link (IP) dedicado - compartilhando a internet

Iniciado por Leandr0, 06 de Março de 2010, 17:29

tópico anterior - próximo tópico

Leandr0





Srs.

Boa Tarde!

A minha empresa contratou um link dedicado (IP FIXO) a GVT forneceu um router que fica dentro da empresa gostaria de saber como devo proceder para compartilhar a internet sem a utilizacao de um modem colocando o ip fixo direto na eth0.


auto lo

iface lo inet loopback

#Placa de rede internet IP DEDICADO configuração passado pela telefonia

auto eth0

#iface eth0 inet dhcp

iface eth0 inet static



      address 189.57.67.75

      netmask 255.255.255.248

      network 189.57.67.72

      broadcast 189.57.67.79

      gateway 189.57.67.73



#Placa de rede interna

auto eth1

iface eth1 inet static

      address 172.18.20.253

      netmask 255.255.255.0

      network 172.18.20.0

      broadcast 172.18.20.255




######o DNS da operadora eh : 200.175.182.139

                              200.175.5.189




Desde já agradeço a ajuda de todos.





zekkerj

Citarface eth1 inet static
      address 172.18.20.253
      netmask 255.255.255.0
      network 172.18.20.0
      broadcast 172.18.20.255

Quem escolheu esses IPs, pra rede interna? Não influi no resto da rede, mas "não tem cara de gateway". Por acaso há outro gateway nessa rede?
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Leandr0

#2
Eu sempre usei como gateway o 172.18.20.253, nao esta correto???

esse eh o unico gateway da rede...

zekkerj

Não está errado, mas não é o costume.

Costuma se usar o primeiro ou o último endereço válido da rede pra ser o gateway. No seu caso, seriam o "172.18.20.1" ou "172.18.20.254". Mas não impede o funcionamento, se você usar diferente. Só fica mais propenso a erro, pq as pessoas tendem a usar o costume.

Beleza. O primeiro passo do compartilhamento é ativar o NAT no seu servidor. Abra uma sessão de comandos, e execute o comando "sudo -s", pra ganhar acesso de super-usuário.

Execute os comandos:

# echo 1 > /proc/sys/net/ipv4/ip_forward
# iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Depois vc deve gravar esses comandos em algum script de inicialização (ex. /etc/rc.local), pra que eles sejam executados automaticamente a cada reboot.

Próximos passos: firewall nesse servidor, pra proteger a ele mesmo, e às estações da sua rede local; servidor dhcp, pras estações da sua rede local poderem pegar a configuração de IP automaticamente; e servidor proxy, pra racionalizar o uso desse link.

Mantenha contato...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Leandr0

De uma olhada no meu aqruivo de firewall, ja crio as regras junto com o compatilhamento... mas ta forma que coloquei a placa de rede configurado acima nao consigo navegar, apenas se eu configurar o ip dedicado em um modem e do modem passar para a eth0, queria fazer isso sem o modem, visto que ja tenho um ip valido da da GVT. na empresa eu tenho um router da cisco por onde sai o ip dedicado


Criei um arquivo na pasta: /etc/init.d/firewall

## INDICAR O INICIO/REINICIO DO FIREWALL
case $1 in
start|restart)
echo "Firewall - By LEandro"

## VARIAVEIS DAS PLACAS DE REDE
NET=eth0
RLOCAL=eth1
REDE="172.18.20.0/24"

## CARREGAR MODULOS
modprobe ip_tables
modprobe iptable_nat
modprobe iptable_filter
modprobe ip_conntrack
modprobe ip_nat_ftp
modprobe ip_conntrack_ftp
modprobe ipt_MASQUERADE
modprobe ipt_LOG

## LIMPAR REGRAS ANTERIORES
iptables -F
iptables -t nat -F

# DEFINIR POLITICA PADRAO (NEGAR TUDO)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

## COMPARTILHAR CONEXAO DE INTERNET
## IP DINAMICO
iptables -t nat -A POSTROUTING -o $NET -j MASQUERADE

## ATIVAR ROTEAMENTO
echo "1" > /proc/sys/net/ipv4/ip_forward

## LIBERAR A PROPRIA MAQUINA LOOPBACK PARA ACESSO A INTERNET
iptables -A INPUT -i lo -j ACCEPT
iptables -A OUTPUT -o lo -j ACCEPT


### Aceita entrada DNS ###
iptables -A OUTPUT -o $NET -p UDP --dport 53 -j ACCEPT

#Bloquear portas

#iptables -A FORWARD -s $REDE -p tcp -m multiport --dport 0:65535 -j DROP

## Estabilizar conexoes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

## LIBERAR/BLOQUEAR A REDE LOCAL
iptables -A INPUT -s 172.18.20.0/24 -j ACCEPT

### libera acesso ao TS
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 3389 -j DNAT --to 172.18.20.20
iptables -t nat -A POSTROUTING -d 172.18.20.20 -j SNAT --to 172.18.20.253

### libera acesso ao SSH
#echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 22 -j DNAT --to 172.18.20.33
iptables -t nat -A POSTROUTING -d 172.18.20.33 -j SNAT --to 172.18.20.253

### libera acesso ao TELNET (FTP)
iptables -A INPUT -i $NET -p TCP --dport 20 -j ACCEPT
iptables -A INPUT -i $NET -p TCP --dport 21 -j ACCEPT

#Nat para FTP
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 20 -j DNAT --to 172.18.20.253:20
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 21 -j DNAT --to 172.18.20.253:21


## Liberando acesso a NFE (Nota fiscal Eletronica) Homologacao
iptables -t nat -I PREROUTING -p tcp --dport 443 -s $REDE -d 200.241.32.196 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 200.241.32.196 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.241.32.196 -j ACCEPT

## Liberando acesso a NFE (Nota fiscal Eletronica) PRODUCAO
#IP 189.31.180.195
iptables -t nat -I PREROUTING -p tcp --dport 443 -s $REDE -d 189.31.180.195 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 189.31.180.195 -j ACCEPT
iptables -A FORWARD -p tcp -d 189.31.180.195 -j ACCEPT

#IP 200.241.32.197
iptables -t nat -I PREROUTING -p tcp --dport 443 -s $REDE -d 200.241.32.197 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 200.241.32.197 -j ACCEPT
iptables -A FORWARD -p tcp -d 200.241.32.197 -j ACCEPT

#IP 201.49.164.105
iptables -t nat -I PREROUTING -p tcp --dport 443 -s $REDE -d 201.49.164.105 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d 201.49.164.105 -j ACCEPT
iptables -A FORWARD -p tcp -d 201.49.164.105 -j ACCEPT

## Liberando acesso a update no SUBVERSION ACBR
iptables -t nat -I PREROUTING -p tcp --dport 443 -s $REDE -d svn.sourceforge.net -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -d svn.sourceforge.net -j ACCEPT
iptables -A FORWARD -p tcp -d svn.sourceforge.net -j ACCEPT

## Liberando acesso a update no Flex ADOBE
#iptables -t nat -I PREROUTING -p tcp --dport 80 -s $REDE -d crl.verisign.net -j ACCEPT
#iptables -t nat -A PREROUTING -p tcp -d crl.verisign.net -j ACCEPT
#iptables -A FORWARD -p tcp -d crl.verisign.net -j ACCEPT




### Libera Windows Update

iptables -A INPUT -i $NET -p tcp -s 69.44.123.167/32 --sport 80 -j ACCEPT
iptables -A OUTPUT -o $NET -p tcp -d 69.44.123.167/32 --dport 80 -j ACCEPT
iptables -A FORWARD -o $NET -p tcp -d 69.44.123.167/32 --dport 80 -j ACCEPT
iptables -A INPUT -i $NET -p tcp -s 69.44.123.167/32 --sport 443 -j ACCEPT
iptables -A OUTPUT -o $NET -p tcp -d 69.44.123.167/32 --dport 443 -j ACCEPT
iptables -A FORWARD -o $NET -p tcp -d 69.44.123.167/32 --dport 443 -j ACCEPT
iptables -A INPUT -i $NET -p tcp -s 207.46.198.93/32 --sport 443 -j ACCEPT
iptables -A OUTPUT -o $NET -p tcp -d 207.46.198.93/32 --dport 443 -j ACCEPT
iptables -A FORWARD -o $NET -p tcp -d 207.46.198.93/32 --dport 443 -j ACCEPT

## Download 8081
iptables -A OUTPUT -o $NET -p TCP --dport 8081 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 8084 -j ACCEPT

#Libera maquina do firewall

#iptables -I FORWARD -p tcp -d 172.18.20.22 -j ACCEPT
#iptables -t nat -I PREROUTING -p tcp -d 172.18.20.22 -j ACCEPT



### Libera trafego ping rede externa ###
#iptables -A INPUT -i $NET -p icmp -j ACCEPT
iptables -A OUTPUT -o $NET -p icmp -j ACCEPT       
iptables -A FORWARD -o $NET -p icmp -j ACCEPT       
   
### Libera trafego ping rede interna ###
iptables -A INPUT -i $RLOCAL -p icmp -j ACCEPT
iptables -A OUTPUT -o $RLOCAL -p icmp -j ACCEPT       


# LIBERAR A PORTA 3128
iptables -A FORWARD -i $NET -p tcp --dport 3128 -d $REDE -j ACCEPT

iptables -t nat -A PREROUTING -i $RLOCAL -s $REDE -p TCP --dport 80 -j REDIRECT --to-port 3128


###Acesso a navegacao ###
iptables -A OUTPUT -o $NET -p TCP --dport 80 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 800 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 1880 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 443 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 21 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 20 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 8080 -j ACCEPT
iptables -A OUTPUT -o $NET -p TCP --dport 3389 -j ACCEPT



# msn #

#iptables -A OUTPUT -o $NET -p TCP --dport 1863 -j ACCEPT
#iptables -A FORWARD -o $NET -p TCP --dport 1863 -j ACCEPT
#iptables -A FORWARD -o $RLOCAL -p TCP --dport 1863 -j ACCEPT
iptables -A FORWARD -s 172.18.20.22 -p TCP --dport 1863 -j ACCEPT


## LIbera acesso ao FTP ##
iptables -A FORWARD -o $NET -p TCP --dport 20 -j ACCEPT
iptables -A FORWARD -o $NET -p TCP --dport 21 -j ACCEPT
iptables -A FORWARD -o $RLOCAL -p TCP --dport 21 -j ACCEPT

## Servidor de E-mail  SMTP (25) POP3 (110)##
iptables -A FORWARD -o $NET -p TCP --dport 25 -j ACCEPT
iptables -A FORWARD -o $NET -p TCP --dport 110 -j ACCEPT


## Servidor TS
iptables -A FORWARD -o $NET -p TCP --dport 3389 -j ACCEPT
iptables -A FORWARD -o $RLOCAL -p TCP --dport 3389 -j ACCEPT

## Servidor SSH
iptables -A FORWARD -o $NET -p TCP --dport 22 -j ACCEPT
iptables -A FORWARD -o $RLOCAL -p TCP --dport 22 -j ACCEPT

#Liberar MYSQL

iptables -A FORWARD -o $NET -p TCP --dport 3306 -j ACCEPT
iptables -A FORWARD -o $RLOCAL -p TCP --dport 3306 -j ACCEPT


## Liberar porta 2082/2083

iptables -A FORWARD -o $NET -p TCP --dport 2082 -j ACCEPT
#iptables -A FORWARD -o $RLOCAL -p TCP --dport 2082 -j ACCEPT

iptables -A FORWARD -o $NET -p TCP --dport 2083 -j ACCEPT
#iptables -A FORWARD -o $RLOCAL -p TCP --dport 2083 - j ACCEPT

##Liberar Postgresql

iptables -A FORWARD -o $NET -p TCP --dport 5432 -j ACCEPT
iptables -A FORWARD -o $RLOCAL -p TCP --dport 5432 -j ACCEPT

## Liberar Porta 5006 Autocred

iptables -A FORWARD -o $NET -p TCP --dport 5006 -j ACCEPT

## Protocolo TCP entrada ##
iptables  -A INPUT -i $RLOCAL -p TCP -s $REDE -d $REDE -j ACCEPT
   
## Protocolo UDP saida ##
iptables -A OUTPUT -o $RLOCAL -p UDP -s $REDE -d $REDE -j ACCEPT
   
## Protocolo TCP saida ##
iptables -A OUTPUT -o $RLOCAL -p TCP -s $REDE -d $REDE -j ACCEPT

;;

stop)
echo "CUIDADO SUA MAQUINA ESTA SEM FIREWALL - ATENCAO!!!..."
iptables -P INPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -P OUTPUT ACCEPT
iptables -t nat -P PREROUTING ACCEPT
iptables -t nat -P POSTROUTING ACCEPT
iptables -F
iptables -t nat -F

;;

*)
echo "Digite start, restart ou stop para ativar/reativar/desativar"
exit 1
;;

esac


Dar permissão no arquivo e torna-lo executável:

chmod 777 /etc/init.d/firewall
chmod +x /etc/init.d/firewall

Coloca-lo p/ inicializar no boot do linux:

cd /etc/rc2.d
ln –s /etc/init.d/firewall /etc/rc2.d/S99firewall


zekkerj

Citar# DEFINIR POLITICA PADRAO (NEGAR TUDO)
iptables -P INPUT DROP
iptables -P OUTPUT DROP
iptables -P FORWARD DROP

Política padrão DROP na cadeia OUTPUT é sempre difícil...  :-\

Vou analisando e se ver algo errado grito.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Citar#Bloquear portas

#iptables -A FORWARD -s $REDE -p tcp -m multiport --dport 0:65535 -j DROP

## Estabilizar conexoes
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A OUTPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT

Essas regras estão na ordem errada: vc tem que permitir o retorno das conexões estabelecidas antes de fazer qq bloqueio geral.

De qq forma, essa regra de bloqueio (comentada, agora que eu vi) é totalmente desnecessária, visto que vc usa política DROP. Melhor tirá-la daí, de vez.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Citar### libera acesso ao TS
echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 3389 -j DNAT --to 172.18.20.20
iptables -t nat -A POSTROUTING -d 172.18.20.20 -j SNAT --to 172.18.20.253

Vc acessa o TS a partir da rede interna? Se não acessa, não precisa da segunda regra.

Citar### libera acesso ao SSH
#echo 1 > /proc/sys/net/ipv4/ip_forward
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 22 -j DNAT --to 172.18.20.33
iptables -t nat -A POSTROUTING -d 172.18.20.33 -j SNAT --to 172.18.20.253
Idem aqui.

Citar### libera acesso ao TELNET (FTP)
iptables -A INPUT -i $NET -p TCP --dport 20 -j ACCEPT
iptables -A INPUT -i $NET -p TCP --dport 21 -j ACCEPT

#Nat para FTP
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 20 -j DNAT --to 172.18.20.253:20
iptables -t nat -A PREROUTING -p tcp -i $NET --dport 21 -j DNAT --to 172.18.20.253:21
Você não precisa fazer redirecionamento de porta, se o destino for a própria máquina.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

zekkerj

Citar# LIBERAR A PORTA 3128
iptables -A FORWARD -i $NET -p tcp --dport 3128 -d $REDE -j ACCEPT

iptables -t nat -A PREROUTING -i $RLOCAL -s $REDE -p TCP --dport 80 -j REDIRECT --to-port 3128

Acho que descobri teu erro. Vc está usando proxy transparente, correto? Nesse caso, vc tem que liberar as estações pra consultar diretamente DNS. Lá em cima, tem uma regra assim:

Citar### Aceita entrada DNS ###
iptables -A OUTPUT -o $NET -p UDP --dport 53 -j ACCEPT
Veja que vc só liberou essa porta como destino na cadeia OUTPUT; isso significa que só o próprio servidor pode fazer consultas DNS.

Pra que as estações também possam fazer consultas, vc tem que adicionar esta linha àquelas:

iptables -A FORWARD -i $RLOCAL --p udp --dport 53 -j ACCEPT

isso vai permitir que as máquinas da rede local, e apenas elas, façam consultas DNS.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Leandr0

Certo, mas como devo proceder no lance do ip dedicado há algum roteamento a ser feito??

zekkerj

Citação de: Leandr0 online 07 de Março de 2010, 17:57
Certo, mas como devo proceder no lance do ip dedicado há algum roteamento a ser feito??
Nada em especial. Se vc conseguir trafegar no servidor de compartilhamento, vai conseguir trafegar nas estações, com o NAT configurado.

Só tem que tomar mais cuidado pq com o IP fixo na internet, vc pode ser mais visado em termos de ataques. A idéia do firewall bem restritivo na entrada ("-P INPUT DROP") é boa, nesse caso.
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Leandr0

Só para constar uso proxy trasnparente!!

Segue meu resolv.conf

domain empresa.com.br
search empresa.com.br
nameserver 172.18.20.253

Segue meu dhcpd.conf


ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
option wpad-url code 252 = text;
ddns-domainname "empresa.com.br.";
option domain-name "empresa.com.br";

log-facility local7;

subnet 172.18.20.0 netmask 255.255.255.0 {
range 172.18.20.100 172.18.20.200;
option routers 172.18.20.253;
option domain-name-servers 172.18.20.253;
option broadcast-address 172.18.20.255;
option wpad-url "http://172.18.20.253/wpad.dat\n";


devo fazer alguma alteracao??

zekkerj

Acho que tá bom assim...

Mas uma coisa interessante: essa configuração de WPAD por DHCP só funciona no IE. Pra funcionar no Firefox (e também no IE), vc deve criar a entrada "wpad.empresa.com.br", no seu servidor DNS.

Daí é só selecionar a opção "auto-detectar as configurações de proxy". Que é melhor do que usar o proxy transparente...
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D

Leandr0

A entrada ja foi criada blzinha, e o firefox e o IE configurados...

mas nao teria que colocar o dns da operadora??

INTERFACES="eth1";
ddns-update-style none;
default-lease-time 600;
max-lease-time 7200;
authoritative;
option wpad-url code 252 = text;
ddns-domainname "empresa.com.br.";
option domain-name "empresa.com.br";
log-facility local7;
subnet 172.18.20.0 netmask 255.255.255.0 {
range 172.18.20.50 172.18.20.150;
option routers IPgatewaydagvt;
option domain-name-servers DNSdagvt;
option broadcast-address 172.18.20.255;
option wpad-url "http://172.18.20.253/wpad.dat\n";

e no resolv.conf

domain empresa.com.br
search empresa.com.br
nameserver 172.18.20.253
nameserver 200.175.182.139
nameserver 200.175.5.189

zekkerj

Não se o seu servidor DNS estiver ativo.

mas se vc quiser colocar o DNS da operadora como secundário, é uma boa: assim, se o seu DNS sair do ar, os seus usuários poderão seguir navegando, só um pouco mais lento.

PS: Seu servidor DNS está ativo, né??? ;)
Pesquise antes de perguntar, sua dúvida pode já ter sido respondida.
Não respondo dúvidas por MP, coloque sua dúvida no fórum onde ela pode ser pesquisada pelos seus colegas!
Não venha ao fórum apenas para perguntar. Se você sabe a resposta de um problema, porque não ajudar seu colega? ;D