Liberar porta 22 [RESOLVIDO]

1. Liberar porta 22 [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 16/02/2013 - 19:06h

Boa tarde pessoal, estou estudando iptables e to levando uma surra pra conseguir liberar a porta 22, tenho duas VM que fiz no Virtual-Box, uma que é o servdior tem duas placas.
servidor:
eth0: 192.168.1.101 - WAN
eth1: 192.168.200.1 - LAN

cliente:
eth0: 192.168.200.1

Queria fazer o cliente conectar por ssh no servidor, segue abaixo meu script.
#!/bin/bash
# 2013-02-13

# define variáveis
ipt="/sbin/iptables"
mod="/sbin/modprobe"
LAN_IFACE="eth1"
WAN_IFACE="eth0"
echo "lendo as variaveis"

# habilita o roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

# subindo modulos
$mod ip_tables
$mod ip_conntrack
$mod iptable_nat
$mod iptable_filter
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE
echo "subindo os modulos"

# limpando as regras do $ipt
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X
echo "zerando as regras"

# setando politicas default
$ipt -P INPUT DROP
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
echo "definindo a politica padrao"

# libera acesso para loopback
$ipt -A INPUT -i lo -j ACCEPT

# habilita o MASQUERADE
$ipt -t nat -A POSTROUTING -s 192.168.200.0/24 -o $WAN_IFACE -j MASQUERADE
echo "habilita o roteamento"

# libera conexoes estabelecidas
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $LAN_IFACE -o $WAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# aceita mensagens importantes do icmp
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
echo "liberando ping"

# rejeita conexões que não foram iniciadas na LAN
$ipt -A INPUT -p tcp --syn -j DROP

### Liberando acesso a serviços
# SSH
#$ipt -A INPUT -p tcp -i $WAN_IFACE --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

echo "criando regras"


Deixando a INPUT como DROP não consegui fazer funcionar, testei várias regras, várias coisas, deixando a INPUT como ACCEPT dai funciona.

Se alguém souber o que estou fazendo de errado eu agradeço.



  


2. Re: Liberar porta 22 [RESOLVIDO]

Jeferson R. Costa
RCJEFERSON

(usa Debian)

Enviado em 16/02/2013 - 19:39h

mschott escreveu:

Deixando a INPUT como DROP não consegui fazer funcionar, testei várias regras, várias coisas, deixando a INPUT como ACCEPT dai funciona.



Se colocando ACCEPT da certo, porque não deixa assim?

A linha que uso para liberar a porta do SSH é essa:

iptables -A INPUT -i INTERFACE_EXTERNA -p tcp --dport 22 -j ACCEPT

Testa ai, depois posta ai se der certo!





3. Re: Liberar porta 22 [RESOLVIDO]

Reginaldo de Matias
saitam

(usa Slackware)

Enviado em 16/02/2013 - 19:55h

mschott escreveu:

Boa tarde pessoal, estou estudando iptables e to levando uma surra pra conseguir liberar a porta 22, tenho duas VM que fiz no Virtual-Box, uma que é o servdior tem duas placas.
servidor:
eth0: 192.168.1.101 - WAN
eth1: 192.168.200.1 - LAN

cliente:
eth0: 192.168.200.1

Queria fazer o cliente conectar por ssh no servidor, segue abaixo meu script.
#!/bin/bash
# 2013-02-13

# define variáveis
ipt="/sbin/iptables"
mod="/sbin/modprobe"
LAN_IFACE="eth1"
WAN_IFACE="eth0"
echo "lendo as variaveis"

# habilita o roteamento
echo 1 > /proc/sys/net/ipv4/ip_forward

# subindo modulos
$mod ip_tables
$mod ip_conntrack
$mod iptable_nat
$mod iptable_filter
$mod iptable_mangle
$mod ipt_LOG
$mod ipt_limit
$mod ipt_state
$mod ipt_MASQUERADE
echo "subindo os modulos"

# limpando as regras do $ipt
$ipt -F
$ipt -t nat -F
$ipt -t mangle -F
$ipt -X
$ipt -t nat -X
$ipt -t mangle -X
echo "zerando as regras"

# setando politicas default
$ipt -P INPUT DROP
$ipt -P FORWARD ACCEPT
$ipt -P OUTPUT ACCEPT
$ipt -t nat -P OUTPUT ACCEPT
$ipt -t nat -P PREROUTING ACCEPT
$ipt -t nat -P POSTROUTING ACCEPT
$ipt -t mangle -P PREROUTING ACCEPT
$ipt -t mangle -P POSTROUTING ACCEPT
echo "definindo a politica padrao"

# libera acesso para loopback
$ipt -A INPUT -i lo -j ACCEPT

# habilita o MASQUERADE
$ipt -t nat -A POSTROUTING -s 192.168.200.0/24 -o $WAN_IFACE -j MASQUERADE
echo "habilita o roteamento"

# libera conexoes estabelecidas
$ipt -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
$ipt -A FORWARD -i $WAN_IFACE -o $LAN_IFACE -m state --state ESTABLISHED,RELATED -j ACCEPT
$ipt -A FORWARD -i $LAN_IFACE -o $WAN_IFACE -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

# aceita mensagens importantes do icmp
$ipt -A INPUT -p icmp --icmp-type echo-request -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type time-exceeded -j ACCEPT
$ipt -A INPUT -p icmp --icmp-type destination-unreachable -j ACCEPT
echo "liberando ping"

# rejeita conexões que não foram iniciadas na LAN
$ipt -A INPUT -p tcp --syn -j DROP

### Liberando acesso a serviços
# SSH
#$ipt -A INPUT -p tcp -i $WAN_IFACE --dport 22 -m state --state NEW -j ACCEPT
iptables -A INPUT -p tcp --dport 22 -m state --state NEW -j ACCEPT

echo "criando regras"


Deixando a INPUT como DROP não consegui fazer funcionar, testei várias regras, várias coisas, deixando a INPUT como ACCEPT dai funciona.

Se alguém souber o que estou fazendo de errado eu agradeço.


"servidor:
eth0: 192.168.1.101 - WAN
eth1: 192.168.200.1 - LAN

cliente:
eth0: 192.168.200.1"

Se estiver assim esta em conflito de IP do servidor com cliente, pois tem o mesmo IP

troque no cliente por 192.168.200.2

#liberar SSH no servidor
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#liberar SSH para rede local
iptables -A FORWARD -p tcp --dport 22 -i $ifaceInt -o $ifaceExt -s $LAN -j ACCEPT

onde:
$ifaceInt: interface da rede interna
$ifaceExt: interface da rede externa
$LAN: endereço IP da sua rede local incluindo a máscara.
Ex: 192.168.200.0/24

http://mundodacomputacaointegral.blogspot.com.br/2012/05/entendendo-o-funcionamento-de-um.html


4. Re: Liberar porta 22 [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 17/02/2013 - 14:17h

"servidor:
eth0: 192.168.1.101 - WAN
eth1: 192.168.200.1 - LAN

cliente:
eth0: 192.168.200.1"

Se estiver assim esta em conflito de IP do servidor com cliente, pois tem o mesmo IP

troque no cliente por 192.168.200.2

#liberar SSH no servidor
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#liberar SSH para rede local
iptables -A FORWARD -p tcp --dport 22 -i $ifaceInt -o $ifaceExt -s $LAN -j ACCEPT

onde:
$ifaceInt: interface da rede interna
$ifaceExt: interface da rede externa
$LAN: endereço IP da sua rede local incluindo a máscara.
Ex: 192.168.200.0/24

http://mundodacomputacaointegral.blogspot.com.br/2012/05/entendendo-o-funcionamento-de-um.html




no cliente ta com 192.168.200.100, eu escrevi errado ali, adicionei as regras:

#liberar SSH no servidor
iptables -A INPUT -p tcp --dport 22 -j ACCEPT

#liberar SSH para rede local
iptables -A FORWARD -p tcp --dport 22 -i $ifaceInt -o $ifaceExt -s $LAN -j ACCEPT

mas não deu certo, se eu executo:
# iptables -F
# iptables -X
# iptables -P INPUT ACCEPT

ai conecta, tanto pela rede interna quanto pela externa.


5. Re: Liberar porta 22 [RESOLVIDO]

mateus schott
mschott

(usa Debian)

Enviado em 17/02/2013 - 14:23h

Descobri qual era o problema, era essa regra:
# rejeita conexões que não foram iniciadas na LAN
$ipt -A INPUT -p tcp --syn -j DROP

não entendi direito pra que serve essa linha mas vou tirar ela fora, vlw pessoal!!






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts