2 conexoes de internet simultaneas com saidas por portas especificas [RESOLVIDO]

Iniciado por Leandr0, 06 de Abril de 2010, 22:55

tópico anterior - próximo tópico

Leandr0

Srs.

Boa Noite!


Tenho uma adsl (GVT) eth0 com ip dinâmico e vou acrescentar + uma adsl com ip fixo (oi) eth2, e gostaria que apenas as requisições para a porta 10443 saíssem pela OI (ip fixo). Como devo proceder? Hoje trabalho conforme as configurações abaixo. E utilizo Proxy transparente com o squid, qual alteração devo fazer no squid também?

Desde já agradeço a ajuda de todos

/etc/network/interfaces

auto lo

iface lo inet loopback

#Placa de rede internet

auto eth0

iface eth0 inet static



     address 10.1.1.10

     netmask 255.255.255.0

     network 10.1.1.0

     broadcast 10.1.1.255

     gateway 10.1.1.1



#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



Desde já agradeço a ajuda de todos.


## 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 TELNET (FTP)
iptables -A INPUT -i $NET -p TCP --dport 20 -j ACCEPT
iptables -A INPUT -i $NET -p TCP --dport 21 -j ACCEPT

## Download 8084
iptables -A OUTPUT -o $NET -p TCP --dport 8084 -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 -t nat -A PREROUTING -i $RLOCAL -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




## 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

zekkerj

CitarTenho uma adsl (GVT) eth0 com ip dinâmico e vou acrescentar + uma adsl com ip fixo (oi) eth2, e gostaria que apenas as requisições para a porta 10443 saíssem pela OI (ip fixo). Como devo proceder? Hoje trabalho conforme as configurações abaixo. E utilizo Proxy transparente com o squid, qual alteração devo fazer no squid também?

Olha, até onde eu sei não tem como fazer isso. Ou se tem, é muito complicado :(
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

Tem como.... porem eh um pouco complicado!!!

tentei algo assim + nao surtiu efeito


iptables -A OUTPUT -s $REDE -d 0/0 -p TCP --dport 10443 -o $NET2 -j ACCEPT


Eai galera do forum nada!!!?????????

zekkerj

Cara, a única forma que eu vejo de fazer isso é usando marcação nos pacotes (tabela Mangle), e roteamento avançado.
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

Graças a ajuda de um colaborador do vivaolinux, hugo consegui resolver.

Criando as rotas

ip rule add fwmark 2 table 20 prio 20
ip ro flush table 20
ip ro add table 20 172.18.20.0/24 dev eth1 proto kernel scope link src 172.18.20.253
ip ro add table 20 default via 192.168.1.1

Liberando no iptables
iptables -t mangle -A PREROUTING -p tcp -m tcp --dport 10443 -j MARK --set-mark 0x2

Qualquer dúvida estou a disposicao.