Re: Maquinas clientes não acessam a internet
Tem razão, o script que eu postei está com um erro, faltou um espaço, acho que foi quando copiei e colei.
Aí está corrigido:
Código :
#! /bin/sh
# defining variables
MODPROBE="/sbin/modprobe"
IPTABLES="/sbin/iptables"
INTIF="eth0"
EXTIF="eth1"
EXTIP="192.168.0.250"
LOCALNET="192.168.144.0/24"
# loading modules
$MODPROBE ip_nat_ftp
# cleaning previous state
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -t filter -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
# policing definition
#filter table
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD DROP
#nat table
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t nat -P POSTROUTING DROP
#mangle table
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
#### filter table ####
## INPUT chain ##
# creating new input chains
$IPTABLES -N localnet
#
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
# avoiding ping flood
$IPTABLES -t filter -A INPUT -p icmp -m limit --limit 2/s -j ACCEPT
# SSH & WWW
$IPTABLES -t filter -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEPT
$IPTABLES -t filter -A INPUT -i $INTIF -j localnet
$IPTABLES -t filter -A INPUT -m state --state ! ESTABLISHED,RELATED -j DROP
$IPTABLES -t filter -A INPUT -j ACCEPT
## localnet chain
# SUNRPC, SMB/CIFS, SWAT, NFS & HTTP proxy
$IPTABLES -t filter -A localnet -p tcp -m multiport --dports 111,135,137,\
138,139,445,901,2049,3128 -j ACCEPT
$IPTABLES -t filter -A localnet -p udp -m multiport --dports 53,67,68,111,\
123,135,137,138,139,445,2049 -j ACCEPT
# NFS
$IPTABLES -t filter -A localnet -p tcp --dport 32765:32769 -j ACCEPT
$IPTABLES -t filter -A localnet -p udp --dport 32765:32769 -j ACCEPT
## FORWARD chain ##
# blocking SMB/CIFS
$IPTABLES -t filter -A FORWARD -p tcp -m multiport --dports 135,137,138,139,445 \
-j DROP
$IPTABLES -t filter -A FORWARD -p udp -m multiport --dports 135,137,138,139,445 \
-j DROP
#
# for braindead ISP/servers/routers
$IPTABLES -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS \
--set-mss 1412
#
# forward rules
$IPTABLES -t filter -A FORWARD -d $LOCALNET -i $EXTIF -o $INTIF -j ACCEPT
$IPTABLES -t filter -A FORWARD -s $LOCALNET -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -t filter -A FORWARD -j DROP
#### nat table ####
## PREROUTING chain ##
# extrato FGTS, the shit!
$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -d \
200.201.174.0/24 -j RETURN
#
# transparent HTTP proxy
$IPTABLES -t nat -A PREROUTING -i $INTIF -p tcp --dport 80 -d ! $LOCALNET \
-j REDIRECT --to-port 3128
## POSTROUTING chain ##
$IPTABLES -t nat -A POSTROUTING -o lo -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $INTIF -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $EXTIF -j SNAT --to-source \
$EXTIP
$IPTABLES -t nat -A POSTROUTING -o $INTIF -d $LOCALNET -j DROP
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -j DROP
#### mangle table ####
# throttling some services
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 22 -j TOS \
--set-tos 0x10
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p udp --dport 53 -j TOS \
--set-tos 0x10
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 80 -j TOS \
--set-tos 0x10
O Netfilter é o projeto que desenvolve o filtro de pacotes conhecido como "iptables". Veja em http://www.netfilter.org
BJS
Re: Maquinas clientes não acessam a internet
MHP brigadinhaaaa ..... eu consegui aflorar meus pensamentos ...
Bom, continuo nao funcionando o script, eu não sei dizer porque no mandriva pp+ ele não esta sendo executado ... corretamente, nao sei se é por que eu nao tenho nenhum pacote instalado, mais o Windows 2003 Server já foi instalado em outro equipamento, mais como eu prometi pra mim mesmo que iria fazer funcionar, entao eu vou ... :wink:
Bom, voce viu a estrutura de rede que eu tenho na empresa na qual eu trabalho né?
Bom, eu tenho um modem roteado, tenho uma máquina com duas saidas de rede, uma vai direto a um HUB ou a um roteador por exemplo ... o que eu preciso para que as outras maquinas naveguem é :
1) Instalar um servidor DHCP
2) Compartilhar a conexão via filtro de pacotes (IPTABLES?)
Eu quero aprender apenas a fazer um simples compartilhamento de conexão, mais por enquanto esta dificil, eu ainda mal conheço IPTABLES, mais estou procurando aprender, estudar e aprender ....
então pra aproveitar o tópico, esses dois pontos que eu citei acima, servem para fazer um compartilhamento simples de conexão?
É que eu ainda não tenho nem noção do que começar a aprender, pq eu não sei se só esses pontos acima ja resolvem o problema ...
Ah, sem falar que isso não é trabalho de mulheres ... :lol:
Vivendo e aprendendo ... :?
Beijinho s2
Duda! :-D
Re: Maquinas clientes não acessam a internet
Oi moça,
Poste o erro retornado pelo script, para vermos o que está ocorrendo.
O serviço DHCP não é necessário para fazer o compartilhamento, em uma rede pequena você pode perfeitamente configurar um ip estático, gateway padrão e DNS em cada máquina.
Um script mais simples só para fazer o compartilhamento seria:
Código :
#! /bin/sh
# defining variables
MODPROBE="/sbin/modprobe"
IPTABLES="/sbin/iptables"
INTIF="eth0"
EXTIF="eth1"
EXTIP="192.168.1.250"
LOCALNET="192.168.144.0/24"
# loading modules
$MODPROBE ip_nat_ftp
# cleaning previous state
$IPTABLES -t filter -P INPUT ACCEPT
$IPTABLES -t filter -P FORWARD ACCEPT
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t nat -P POSTROUTING ACCEPT
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P INPUT ACCEPT
$IPTABLES -t mangle -P FORWARD ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
$IPTABLES -t mangle -P POSTROUTING ACCEPT
$IPTABLES -t filter -F
$IPTABLES -t nat -F
$IPTABLES -t mangle -F
$IPTABLES -t filter -X
$IPTABLES -t nat -X
$IPTABLES -t mangle -X
# policing definition
#filter table
$IPTABLES -t filter -P INPUT DROP
$IPTABLES -t filter -P OUTPUT ACCEPT
$IPTABLES -t filter -P FORWARD DROP
#nat table
$IPTABLES -t nat -P PREROUTING ACCEPT
$IPTABLES -t nat -P OUTPUT ACCEPT
$IPTABLES -t nat -P POSTROUTING DROP
#mangle table
$IPTABLES -t mangle -P PREROUTING ACCEPT
$IPTABLES -t mangle -P OUTPUT ACCEPT
#### filter table ####
## INPUT chain ##
$IPTABLES -t filter -A INPUT -i lo -j ACCEPT
# avoiding ping flood
$IPTABLES -t filter -A INPUT -p icmp -m limit --limit 2/s -j ACCEPT
# SSH
$IPTABLES -t filter -A INPUT -p tcp --dport 22 -j ACCEPT
$IPTABLES -t filter -A INPUT -m state --state ! ESTABLISHED,RELATED -j DROP
$IPTABLES -t filter -A INPUT -j ACCEPT
## FORWARD chain ##
# for braindead ISP/servers/routers
$IPTABLES -t filter -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS \
--set-mss 1412
#
# forward rules
$IPTABLES -t filter -A FORWARD -d $LOCALNET -i $EXTIF -o $INTIF -j ACCEPT
$IPTABLES -t filter -A FORWARD -s $LOCALNET -i $INTIF -o $EXTIF -j ACCEPT
$IPTABLES -t filter -A FORWARD -j DROP
#### nat table ####
## POSTROUTING chain ##
$IPTABLES -t nat -A POSTROUTING -o lo -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $INTIF -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -s $LOCALNET -o $EXTIF -j SNAT --to-source \
$EXTIP
$IPTABLES -t nat -A POSTROUTING -o $INTIF -d $LOCALNET -j DROP
$IPTABLES -t nat -A POSTROUTING -o $EXTIF -j ACCEPT
$IPTABLES -t nat -A POSTROUTING -j DROP
#### mangle table ####
# throttling some services
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 22 -j TOS \
--set-tos 0x10
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p udp --dport 53 -j TOS \
--set-tos 0x10
$IPTABLES -t mangle -A POSTROUTING -o $EXTIF -p tcp --dport 80 -j TOS \
--set-tos 0x10
Dê uma olhada em http://netfilter.org/documentation/index.html, tem bons howtos e tutoriais, inclusive em português.
Um abraço,
PS: Isto é trabalho para mulheres sim, afinal já estamos no século XXI. A única coisa que uma mulher não é capaz de fazer (por enquanto) é engravidar outra :lol: