-
Controle remoto via internet em rede atras de firewall Linux
Gostaria de acessar as máquinas Windows 98 que ficam atras de um servidor Conectiva Linux 8 ligado à internet por Speedy.
Onde trabalho, estamos conectados a internet pelo Speedy, através de um windows 2000 server.
Como faço para fazer controle remoto nas máquinas atras do servidor Linux?
Gostaria se possível de usar o VNC.
Obrigado
Paulo
-
Controle remoto via internet em rede atras de firewall Linux
vc vai precisar fazer redirecionamento de pacotes com NAT...
de uma olhada na seção proxy/nat/firewall
-
Controle remoto via internet em rede atras de firewall Linux
Li os artigos da seção e também dúvidas semelhantes existentes no forum, mas continua não funcionando...
Uso Iptables no servidor linux, segui as instruções tanto dos artigos quanto do forum e nada de funcionar....
-
Controle remoto via internet em rede atras de firewall Linux
Estou tentando acessar através da internet, as máquinas da rede interna, usando o VNC, mas não consigo. Se alguem puder me ajudar, fico agradecido.
Segue abaixo meu script de firewall, os endereços abaixo são os utilizados em máquinas de teste. O 192.168.1.98 representa o endereço válido na internet e o 192.168.2.1 o ip da rede interna.
No kernel.log estão as seguintes mensagens.
Obrigado
Paulo
kernel.log
Dec 19 17:00:21 cobaiaserver kernel: IPT FORWARD packet died:IN=eth0 OUT=eth1 SRC=192.168.1.1 DST=192.168.2.2 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=7515 DF PROTO=TCP SPT=62678 DPT=5900 WINDOW=64240 RES=0x00 SYN URGP=0
Dec 19 17:00:24 cobaiaserver kernel: IPT FORWARD packet died:IN=eth0 OUT=eth1 SRC=192.168.1.1 DST=192.168.2.2 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=7645 DF PROTO=TCP SPT=62678 DPT=5900 WINDOW=64240 RES=0x00 SYN URGP=0
Dec 19 17:00:30 cobaiaserver kernel: IPT FORWARD packet died:IN=eth0 OUT=eth1 SRC=192.168.1.1 DST=192.168.2.2 LEN=48 TOS=0x00 PREC=0x00 TTL=127 ID=7866 DF PROTO=TCP SPT=62678 DPT=5900 WINDOW=64240 RES=0x00 SYN URGP=0
Script Firewall
#
#1 Configuration options
#
# 1.1 Internet Configuration
INET_IP="192.168.1.98"
INET_IFACE="eth0"
#1.1.1 DHCP
#1.1.2 PPPoE
#1.2 Local Area Network configuration
#
#
LAN_IP="192.168.2.1"
LAN_IP_RANGE="192.168.2.0/24"
LAN_BCAST_ADRESS="192.168.2.255"
LAN_IFACE="eth1"
#1.3 DMZ Configuration
#1.4 Localhost Configuration
LO_IFACE="lo"
LO_IP="127.0.0.1"
#1.5 IPTables Configuration
IPTABLES="/usr/sbin/iptables"
#1.6 Other Configuration
#2. Module loading
/sbin/depmod -a
#2.1 Required modules
#
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
#
#2.2 Non-Required modules
#/sbin/modprobe ipt_owner
#/sbin/modprobe ipt_REJECT
#/sbin/modprobe ipt_MASQUERADE
#/sbin/modprobe ip_conntrack_ftp
#/sbin/modprobe ip_conntrack_irc
#
#3. /proc set up
#
#3.1 Required proc configuration
#
echo "1" >/proc/sys/net/ipv4/ip_forward
#
#3.2 Non-Required proc configuration
#echo "1" >/proc/sys/net/ipv4/conf/all/rp_filter
#echo "1" >/proc/sys/net/ipv4/conf/all/proxy_arp
#echo "1" >/proc/sys/net/ipv4/ip_dynaddr
#
#4. rule set up
#4.1 Filter table
#4.1.1 Set policies
$IPTABLES -P INPUT DROP
$IPTABLES -P OUTPUT DROP
$IPTABLES -P FORWARD DROP
#
#4.1.2 Create user specified chains
#
#Create chain for bad tcp packets
$IPTABLES -N bad_tcp_packets
#
#Create separate chains for ICMP, TCP and UDP to traverse
$IPTABLES -N allowed
$IPTABLES -N icmp_packets
$IPTABLES -N tcp_packets
$IPTABLES -N udpincoming_packets
#
#4.1.3 Create content in user specified chains
#bad_tcp_packets chain
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j LOG \
--log-prefix "New not syn:"
$IPTABLES -A bad_tcp_packets -p tcp ! --syn -m state --state NEW -j DROP
#
#allowed chain
$IPTABLES -A allowed -p TCP --syn -j ACCEPT
$IPTABLES -A allowed -p TCP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A allowed -p TCP -j DROP
#
#TCP RULES
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 21 -j allowed
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 22 -j allowed
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 80 -j allowed
#$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 113 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 5900 -j allowed
$IPTABLES -A tcp_packets -p TCP -s 0/0 --dport 5800 -j allowed
#UDP PORTS
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --destination-port 53 -j ACCEPT
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --destination-port 123 -j ACCEPT
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --destination-port 2074 -j ACCEPT
#$IPTABLES -A udpincoming_packets -p UDP -s 0/0 --destination-port 4000 -j ACCEPT
#ICMP RULES
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 8 -j ACCEPT
$IPTABLES -A icmp_packets -p ICMP -s 0/0 --icmp-type 11 -j ACCEPT
#4.1.4 INPUT CHAIN
# BAD TCP PACKETS WE DON´T WANT
$IPTABLES -A INPUT -p tcp -j bad_tcp_packets
#RULES FOR SPECIAL NETWORKS NOT PART OF THE INTERNET
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -s $LAN_IP_RANGE -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LO_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $LAN_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LO_IFACE -s $INET_IP -j ACCEPT
$IPTABLES -A INPUT -p ALL -i $LAN_IFACE -d $LAN_BCAST_ADRESS -j ACCEPT
#RULES FOR INCOMING PACKETS FROM THE INTERNET
$IPTABLES -A INPUT -p ALL -d $INET_IP -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A INPUT -p TCP -i $INET_IFACE -j tcp_packets
$IPTABLES -A INPUT -p UDP -i $INET_IFACE -j udpincoming_packets
$IPTABLES -A INPUT -p ICMP -i $INET_IFACE -j icmp_packets
$IPTABLES -A INPUT -p TCP -s 192.168.1.1 -j ACCEPT
#LOG WEIRD PACKETS THAT DON´T MATCH THE ABOVE
$IPTABLES -A INPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT INPUT packet died:"
#4.1.5 FORWARD CHAIN
#BAD TCP PACKETS WE DON´T WANT
$IPTABLES -A FORWARD -p tcp -j bad_tcp_packets
#ACCEPTS THE PACKETS WE ACTUALLY WANT TO FORWARD
$IPTABLES -A FORWARD -i $LAN_IFACE -j ACCEPT
$IPTABLES -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
$IPTABLES -A FORWARD -i eth0 -s 192.168.1.1 -o eth1 -j ACCEPT
$IPTABLES -A FORWARD -p TCP -i eth0 -o eth1 -d 192.168.2.2 --dport 5800 -j ACCEPT
#LOG WEIRD PACKETS THAT DON´T MATCH THE ABOVE
$IPTABLES -A FORWARD -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT FORWARD packet died:"
#4.1.6 OUTPUT CHAIN
#BAD TCP PACKETS WE DON´T WANT
$IPTABLES -A OUTPUT -p tcp -j bad_tcp_packets
#SPECIAL OUTPUT RULES TO DECIDE WHICH IP´S TO ALLOW
$IPTABLES -A OUTPUT -p ALL -s $LO_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $LAN_IP -j ACCEPT
$IPTABLES -A OUTPUT -p ALL -s $INET_IP -j ACCEPT
#LOG WEIRD PACKETS THAT DON´T MATCH THE ABOVE
$IPTABLES -A OUTPUT -m limit --limit 3/minute --limit-burst 3 -j LOG \
--log-level DEBUG --log-prefix "IPT OUTPUT packet died:"
#4.2 NAT TABLE
#4.2.1 SET POLICIES
#4.2.2 CREATE USER SPECIFIED CHAINS
#4.2.3 CREATE CONTENT IN USER SPECIFIED CHAINS
#4.2.4 PREROUTING CHAIN
$IPTABLES -t nat -A PREROUTING -p tcp -d 192.168.1.98 --dport 5900 -j DNAT --to 192.168.2.2
#4.2.5 POSTROUTING CHAIN
#ENABLESIMPLE IP FORWARDING AND NETWORK ADDRESS TRANSLATION
$IPTABLES -t nat -A POSTROUTING -p tcp -s 192.168.2.2 --sport 5900 -j SNAT --to 192.168.1.98
$IPTABLES -t nat -A POSTROUTING -o $INET_IFACE -j SNAT --to-source $INET_IP
#4.2.6 OUTPUT CHAIN
#4.3 MANGLE TABLE
#4.3.1 SET POLICIES
#4.3.2 CREATE USER SPECIFIED CHAINS
#4.3.3 CREATE CONTENT IN USER SPECIFIED CHAINS
#4.3.4 PREROUTING CHAIN
#4.3.5 INPUT CHAIN
#4.3.6 FORWARD CHAIN
#4.3.7 OUTPUT CHAIN
#4.3.8 POSTROUTING CHAIN
-
Controle remoto via internet em rede atras de firewall Linux
so um comentario ...
pq vcs complicam tanto? <IMG SRC="images/forum/icons/icon_eek.gif">
-
Controle remoto via internet em rede atras de firewall Linux
Quais seriam as regras mínimas do firewall para conseguir usar o VNC, digo todas as regras do firewall, não só as de NAT?
Paulo
-
Controle remoto via internet em rede atras de firewall Linux
iptables -t nat -A PREROUTING -p tcp -s 0/0 --dport PORTA_VNC -j DNAT --to IP_INTERNO
mas ai vc soh vai conseguir acessar uma maquina.. entaum vc pode usar uma porta diferente pra cada maquina trocando o PORTA_VNC e depois redireciona pra cada uma delas no IP_INTERNO
[ Esta mensagem foi editada por: 1c3_m4n em 23-12-2002 17:46 ]
[ Esta mensagem foi editada por: 1c3_m4n em 23-12-2002 17:58 ]
-
Controle remoto via internet em rede atras de firewall Linux
Já fiz isso mas não funciona, esta regra está no script acima....
Paulo
-
Controle remoto via internet em rede atras de firewall Linux
Eh impossivel não funcionar!!!
tem algo errado....
vc ativou o ip_forward?
carregou os modulos de nat?
e como eu disse vc vai ter q fazer uma regra dessa pra cada maquina interna q vc tiver!!!
por ex:
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 200.XXX.XXX.XXX --dport 5000 -j DNAT --to 192.168.1.1 PORTA_VNC
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 200.XXX.XXX.XXX --dport 5001 -j DNAT --to 192.168.1.2
-
Controle remoto via internet em rede atras de firewall Linux
eh seu forward num deve estar ativo mesmo.... ta dando died neles...
coloca isso aki antes de iniciar seu script
echo 1 > /proc/sys/net/ipv4/ip_forward
[ Esta mensagem foi editada por: 1c3_m4n em 26-12-2002 09:18 ]
-
Controle remoto via internet em rede atras de firewall Linux
Concordo que é para funcionar. Mas o ip_forward esta ativo e os módulos de nat também. O VNC usa a porta 5900 não é?
Outra coisa, estou logando todas as passagens no firewall, o que percebi é que o servidor está fazendo a regra de Prerouting e está encaminhando o pacote para a estação dentro da rede, mas depois disso não ocorre mais nada, como se a estação não respondesse. Porém já fiz um teste usando o VNC viewer em uma estação da rede para acessar esta estação e funcionou...
O que pode estar errado??
Agradeço pela ajuda, que vem me dando...
Paulo
-
Controle remoto via internet em rede atras de firewall Linux
realmente mto estranho....
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 200.XXX.XXX.XXX --dport 5000 -j DNAT --to 192.168.1.1 5900
tem q funcionar... AAAAAHHH mais uma coisa como estao as regras OUTPUT?
digita ai iptables -L OUTPUT e cola aki... talvez ele esteja enviandos os pacotes mas num ta deixando sair.......
-
Controle remoto via internet em rede atras de firewall Linux
chain OUPUT (policy DROP)
accept all localhost anywhere
accept all ip_interno anywhere
accept all ip_internet anywhere
log all anywhere anywhere limit: avg 3/min burst 3 LOG level debug
-
Controle remoto via internet em rede atras de firewall Linux
esse ip_interno seria sua rede ou apenas o endereço ip interno do seu servidor?
e as regras de forward como estao?
-
Controle remoto via internet em rede atras de firewall Linux
É o IP da placa de rede que comunica o servidor com a lan.
policy(DROP)
accept tcp anywhere ip_estacao_com_vnc tcp dpt:5900
accept all anywhere anywhere
accept all anywhere anywhere state RELATED, ESTABLISHED
-
Controle remoto via internet em rede atras de firewall Linux
Putz, já tentei de tudo e não consigo descobrir o erro. Se mais alguém puder me ajudar, fico muito agradecido....
Paulo
-
Controle remoto via internet em rede atras de firewall Linux
cara faz um teste ai libere tudo no forward e coloque as regras q te falei antes...
iptables -P FORWARD ACCEPT
-
Controle remoto via internet em rede atras de firewall Linux
ateh pq essa regra abaixo eh inutil:
accept tcp anywhere ip_estacao_com_vnc tcp dpt:5900
a porta 5900 eh a input do vnc mas isso num quer dizer q ela tb seja o output dele.... logo se ele sair por outra porta vc ta bloqueando....
libera o forward como te falei...
-
Controle remoto via internet em rede atras de firewall Linux
liberei o forward mas não resolveu.
Tentei remover a referencia a porta 5900 e deixei assim
iptables -A FORWARD -p tcp -d ip_vnc -j ACCEPT
iptables -A FORWARD -p tcp -s ip_vnc -j ACCEPT
Mas não resolveu...
-
Controle remoto via internet em rede atras de firewall Linux
faz o seguinte abre o iptraf fica olhando o trafego e tenta conectar nele pra ver oq ta acontecendo... se ele aparecer RESET eh pq seu firewall ainda ta bloqueando ele
-
Controle remoto via internet em rede atras de firewall Linux
o iptraf mostra a conexão entre minha máquina (fora da rede) e a estção com vnc, mais nada...
????
-
Controle remoto via internet em rede atras de firewall Linux
se os pacotes estao passando entaum o problema eh com o VNC agora
-
Controle remoto via internet em rede atras de firewall Linux
Mas eu consigo me conectar a estação chamando a partir de outra estação, agora quando a requisição vem do servidor não funciona...
que negocio dificil de fazer....
-
Controle remoto via internet em rede atras de firewall Linux
o VNC server é uma estação Windows 98, tem algum problema?
-
Controle remoto via internet em rede atras de firewall Linux
internamente vc vai conseguir mesmo.... cara isso eh alguma coisa no firewall....
deixe sem nenhuma regra, coloque tudo ACCEPT e depois insira a regra q te passei... isso tem q funcionar!!!! eu faço isso com meu banco de dados!!!!
-
Controle remoto via internet em rede atras de firewall Linux
Coloquei todas as regras com ACCEPT, não sobrou nada com DROP e mesmo assim não funciona....
Existe alguma outra forma de se conectar as maquinas da rede interna????
-
Controle remoto via internet em rede atras de firewall Linux
vc deixou tudo como accept mas colocou a regra q te passei antes???
-
Controle remoto via internet em rede atras de firewall Linux
Você diz a regra de PREROUTING? Sim coloquei e deixei também a regra:
iptables -P FORWARD ACCEPT
Está certo?
-
Controle remoto via internet em rede atras de firewall Linux
ta sim... mas faltou essa:
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d 200.XXX.XXX.XXX --dport 5000 -j DNAT --to 192.168.1.1 5900
-
Controle remoto via internet em rede atras de firewall Linux
Tentei criar um firewall bem simples e totalmente aberto, mas não funcionou, veja se tem algo errado por favor....
obrigado
#inicio firewall
sbin/depmod -a
/sbin/modprobe ip_tables
/sbin/modprobe ip_conntrack
/sbin/modprobe iptable_filter
/sbin/modprobe iptable_mangle
/sbin/modprobe iptable_nat
/sbin/modprobe ipt_LOG
/sbin/modprobe ipt_limit
/sbin/modprobe ipt_state
/sbin/modprobe ipt_MASQUERADE
echo "1" >/proc/sys/net/ipv4/ip_forward
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD ACCEPT
iptables -A INPUT -p ALL -s 0/0 -d 0/0 -j ACCEPT
iptables -A FORWARD -p ALL -s 0/0 -d 0/0 -j ACCEPT
iptables -A OUTPUT -p ALL -s 0/0 -d 0/0 -j ACCEPT
iptables -t nat -A PREROUTING -p tcp -s 0/0 -d ip_externo --dport 5000 -j DNAT --to 192.168.10.6:5900
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to ip_externo
-
Controle remoto via internet em rede atras de firewall Linux
troca isso 192.168.10.6:5900
por isso 192.168.10.6 5900
-
Controle remoto via internet em rede atras de firewall Linux
Sem os dois pontos ele da Bad Argument: 5900
-
Controle remoto via internet em rede atras de firewall Linux
tira isso q num precisa
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to ip_externo
e no echo "1" deixa soh echo 1
sem as aspas
-
Controle remoto via internet em rede atras de firewall Linux
Executei um netstat -an na estação com VNC e nas linhas com o ip_estaçao e porta 5900, o estado estava com syn_received...
Isso é sinal que a estação esta recebendo a solicitação não é?
-
Controle remoto via internet em rede atras de firewall Linux
Ok, tirei a linha de postrouting e também as aspas do echo "1", mas não resolveu...
-
Controle remoto via internet em rede atras de firewall Linux
exatamente isso quer dizer q os pacotes estao chegando sim.... agora tem q ver oq acontece com o vnc...
-
Controle remoto via internet em rede atras de firewall Linux
como faço para ver se a estação com vnc esta respondendo para o servidor e como está respondendo? Para qual porta está enviando a resposta?
-
Controle remoto via internet em rede atras de firewall Linux
soh usando o iptraf pra ver a porta...
abre o iptraf q ele vai mostrar a porta de entrada de de saida
-
Controle remoto via internet em rede atras de firewall Linux
Monitorando pelo iptraf o que aparece é o seguinte:
ip_vncviewer<IMG SRC="images/forum/icons/icon_razz.gif">orta S (flag)
ip_externo:5000
ip_vncviewer<IMG SRC="images/forum/icons/icon_razz.gif">orta S (flag)
ip_vncserver:5900
e mais nada
Uma pergunta eu preciso liberar a porta 5900 no services do servidor?
-
Controle remoto via internet em rede atras de firewall Linux
-
Controle remoto via internet em rede atras de firewall Linux
ta, e com relação ao resultado do iptraf?
Não mostrou muita coisa não é?
O que faço???!!!!
-
Controle remoto via internet em rede atras de firewall Linux
ele teria q estrar mostrando mais coisa... se soh esta aparecendo flag ainda tem coisa errada...
sinceramente to sem ideia do q possa ser agora
-
Controle remoto via internet em rede atras de firewall Linux
CARA DESCUBRI O ERRO, o gateway da estação com vnc server estava errado, por isso do erro e de tanto tempo perdido.
Cara, obrigado pela enorme atenção e pelo tempo que vc gastou com esse assunto.
Valeu!!!!