Configurar iptables no debian

1. Configurar iptables no debian

Samuel Gonçalves
samu007

(usa Outra)

Enviado em 26/02/2011 - 08:17h

Valeu pela dica renato, agora espero q vc como outros possam me ajudar. Estou com algumas duvidas sobre como fazer o squid funcionar, Minha estrutura é a seguinte:

Tenho o debian instalado em uma maquina, ela está com apenas uma placa de rede funcionando, tenho um roteador que faz a distribuição da internet, ja instalei o squid e configurei. Minhas duvidas são as seguintes:

1- como redirecionar a internet que chega no meu roteador para o servidor, usando o iptables?
2- Apenas com uma placa de rede no meu servidor eu consigo fazer o squid funcionar?


  


2. Re: Configurar iptables no debian

Alexon Ferreira de Oliveira
alexonoliveira

(usa Red Hat)

Enviado em 26/02/2011 - 10:00h

E ae cara,

Isso é bem fácil. Como estou com preguiça de escrever (rs) separei um link com um artigo do C.E. Morimoto que vai te explicar tudo o que você quer. Dá uma olhada no link a seguir:

http://www.hardware.com.br/artigos/compartilhar-placa/

Frita ele e põe para funcionar isso aí!

=)


3. Re: Configurar iptables no debian

Vinicius Oliveira Gundim
viniciusgundim

(usa Ubuntu)

Enviado em 26/02/2011 - 10:06h

O ideial seria vc com duas placas de rede colocar uma para o roteador (WAN) e outra para um switch (LAN) qualquer e compartilhar a conexão e criar sua regras com o iptables, pode seguir o tutorial acima do Morimoto.


4. Re: Configurar iptables no debian

Samuel Gonçalves
samu007

(usa Outra)

Enviado em 26/02/2011 - 14:17h

Galera, lendo o tutorial achei melhor colocar duas placas de rede, como eu posso habilitar a segunda placa?

QUANDO APLICO O IFCONFIG:

rl0: flags=8802<BROADCAST,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8<VLAN_MTU>
ether 0:8:54:69:ad:90
media: Ethernet autoselect
status: no carrier
re0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=389b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,WOL_UCAST,WOL_MCAST,WOL_MAGIC>
ether 0:1a:92:8a:30:d9
inet6 fe80::21a:92ff:fe8a:30d9%re0 prefixlen 64 scopeid 0x2
inet 192.168.2.27 netmask 0xffffff00 broadcast 192.168.0.255
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=3<RXCSUM,TXCSUM>
inet6 ::1 prefixlen 128
inet6 fe80::1%lo0 prefixlen 64 scopeid 0x3
inet 127.0.0.1 netmask 0xff000000
nd6 options=3<PERFORMNUD,ACCEPT_RTADV>

QUANDO APLICO O LSPCI:

00:00.0 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
00:00.1 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
00:00.2 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
00:00.3 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
00:00.4 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
00:00.5 PIC: VIA Technologies, Inc. CN896/VN896/P4M900 I/O APIC Interrupt Controller
00:00.6 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Security Device
00:00.7 Host bridge: VIA Technologies, Inc. CN896/VN896/P4M900 Host Bridge
00:01.0 PCI bridge: VIA Technologies, Inc. VT8237/VX700 PCI Bridge
00:02.0 PCI bridge: VIA Technologies, Inc. CN896/VN896/P4M900 PCI to PCI Bridge Controller (rev 80)
00:03.0 PCI bridge: VIA Technologies, Inc. CN896/VN896/P4M900 PCI to PCI Bridge Controller (rev 80)
00:0f.0 IDE interface: VIA Technologies, Inc. Device 5337 (rev 80)
00:0f.1 IDE interface: VIA Technologies, Inc. VT82C586A/B/VT82C686/A/B/VT823x/A/C PIPC Bus Master IDE (rev 07)
00:10.0 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.1 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.2 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.3 USB Controller: VIA Technologies, Inc. VT82xxxxx UHCI USB 1.1 Controller (rev a0)
00:10.4 USB Controller: VIA Technologies, Inc. USB 2.0 (rev 86)
00:11.0 ISA bridge: VIA Technologies, Inc. VT8237A PCI to ISA Bridge
00:11.7 Host bridge: VIA Technologies, Inc. VT8251 Ultra VLINK Controller
00:13.0 Host bridge: VIA Technologies, Inc. VT8237A Host Bridge
00:13.1 PCI bridge: VIA Technologies, Inc. VT8237A PCI to PCI Bridge
02:00.0 VGA compatible controller: nVidia Corporation G72 [GeForce 7300 SE/7200 GS] (rev a1)
03:00.0 IDE interface: JMicron Technology Corp. JMB362/JMB363 Serial ATA Controller (rev 02)
04:03.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8139/8139C/8139C+ (rev 10)
04:07.0 Ethernet controller: Realtek Semiconductor Co., Ltd. RTL-8110SC/8169SC Gigabit Ethernet (rev 10)


5. Re: Configurar iptables no debian

Alexon Ferreira de Oliveira
alexonoliveira

(usa Red Hat)

Enviado em 26/02/2011 - 15:31h

Com certeza a conexão com duas placas é bem melhor e mais utilizado.

Para habilitar a segunda placa você pode simplesmente dar um ifconfig eth1 up. Se ela estiver corretamente instalada irá subir. Depois disso, configure o arquivo /etc/network/interfaces de maneira que uma das placas tenha ip estático e a outra ip dinâmico. Exemplo de configuração:

#Placa de conexão internet

auto eth0
iface eth0 inet dhcp

#Placa de conexão local

auto eth1
iface eth1 inet static
address 192.168.0.1
netmask 255.255.255.0
broadcast 192.168.0.255
gateway #aqui você coloca o ip da eth0#

Feito isso, digite invoke-rc.d networking restart para aplicar as alterações.

Após ter feito essa configuração, você terá de habilitar o firewall a fazer a conversação NAT entre as placas. O ideal será você criar um script que executará os comandos de iptables sempre que a máquina inicializar. Um exemplo básico do arquivo seria assim:

#!/bin/bash



iniciar () {



modprobe iptable_nat


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

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



echo "Regras de Compartilhamento Ativadas"

}



parar () {

iptables -F

iptables -t nat -F

echo 0 > /proc/sys/net/ipv4/ip_forward


echo "Firewall Desativado"

echo "Regras de Compartilhamento Desativadas"


}



case "$1" in

"start") iniciar ;;

"stop") parar ;;

"restart") parar; iniciar ;;

*) echo "Utilize os parametros start, stop ou restart

esac

Pronto. Só com isso seu firewall conseguiria fazer o compartilhamento e conversação entre as placas eth0 e eth1. Claro que você terá que incrementá-lo um pouco mais depois.

Não esqueça de dar permissão de execução para esse script (chmod +x script). Coloque ele, por exemplo, no diretório /etc/init.d e depois adicione o comando /etc/init.d/script start dentro do final do arquivo /etc/rc.local. Agora toda vez que sua máquina iniciar ele aplicará automaticamente as regras do iptables.

Espero ter ajudado.
Espero ter ajudado.


6. Re: Configurar iptables no debian

Samuel Gonçalves
samu007

(usa Outra)

Enviado em 28/02/2011 - 09:50h

Alex, vou fazer isso e dpois posto o resultado.

Desde já agradeço pela atenção. Abraço


7. Re: Configurar iptables no debian

Samuel Gonçalves
samu007

(usa Outra)

Enviado em 01/03/2011 - 11:35h

Galera não to conseguindo instalar o iptables, já atualizei o sources.list, o que deve fazer?


8. Re: Configurar iptables no debian

Alexon Ferreira de Oliveira
alexonoliveira

(usa Red Hat)

Enviado em 02/03/2011 - 22:10h

Meu querido, você não instala o IPtables. O IPtables é nativo do próprio kernel Linux. Para que ele funcione basta você digitar os comandos necessários no terminal (shell). Mas toda vez que você reiniciar sua máquina as regras de IPtables serão apagadas automaticamente (iptables -F) fazendo com que você tenha que refazê-las todas vez que iniciar o PC. Para evitar isso, faça o que eu postei acima. Crie um shell script com os comandos desejados, salve na pasta /etc/init.d dê o privilégio de execução (chmod +x) e por fim adicione o comando /etc/init.d/nomedoscript no arquivo /etc/rc.local. Pronto. Faça isso e me avise quando conseguir. =)


9. Re: Configurar iptables no debian

Ivo Becker
ivo.becker

(usa Debian)

Enviado em 03/03/2011 - 00:36h

cara, bem simples, você pode editar o seu rc.local e adicionar as SIMPLES regras para nat e redirecionamento para squid...
vamos lá...
no console ssh ou no próprio servidor, " rc.local pq ele é um scrip ja iniciado automaticamente no boot"
"LEMBRANDO QUE ETH1 é a minha placa de saida, rede local e ETH0 é a minha placa que recebe internet do modem"

digite:
nano /etc/rc.local

verá umas linhas comentadas com '#'...
abaixo delas adicione:
### Redireciona porta 80 para 3128 SQUID ###
iptables -t nat -A PREROUTING -i eth1 -p tcp --dport 80 -j REDIRECT --to-ports 3128
### Compartilha internet com qualquer outra interface de rede ###
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
### Habilita IP FORWARD ###
echo 1 > /proc/sys/net/ipv4/ip_forward
### Fazendo Porta 443 passar por fora do Squid ###
iptables -A FORWARD -i eth1 -p tcp --dport 443 -j ACCEPT

### FIM ###
"control+o para salvar e control+x para sair"

Bem, adicionei essa ultima linha da Porta 443 pois em proxy transparente o squid não resolve páginas SSL "porta 443", sites como ORKUT, GMAIL, BANCARIOS, enfim, sites com protocolos seguros SSL não iriam abrir...
não esqueca de por no seu squid.conf a linha:

http_port 3128 transparent



10. Re: Configurar iptables no debian

Samuel Gonçalves
samu007

(usa Outra)

Enviado em 04/03/2011 - 09:42h

Entendi, vou fazer aqui e posto de novo. Valeu






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts