Este comentário por ott--
parece correto. Se o despejo de tela acima estiver completo, o serviço está apenas ouvindo 5500 no IPv6 e não está ouvindo 1158.
Eu tenho uma instalação do CentOS como uma VM guest com o VirtualBox. Eu tenho duas interfaces ethernet, eth0 com NAT e DHCP e eth1 com adaptador somente host e IP estático.
Tenho o Oracle instalado neste CentOS e quero abrir a porta do banco de dados 1521 e a porta do gerenciador do Oracle (que depende do banco de dados - neste exemplo 5500). Então meu
# Firewall configuration written by system-config-firewall
# Manual customization of this file is not recommended.
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1521 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 1158 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 5500 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 465 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
COMMIT
E sudo iptables -nvL
na VM guest mostra:
Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
266K 103M ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
1 84 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
4749 285K ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
3 192 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:22
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:1521
0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:1158
1001 143K REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
0 0 REJECT all -- * * 0.0.0.0/0 0.0.0.0/0 reject-with icmp-host-prohibited
Chain OUTPUT (policy ACCEPT 220K packets, 92M bytes)
pkts bytes target prot opt in out source destination
Parece que o iptables mostra menos entradas do que aquelas que eu defini no arquivo.
sudo netstat -apnt | grep 5500
mostra que o processo está sendo executado em 5500:
tcp 0 0 192.168.56.11:25500 192.168.56.11:1521 ESTABLISHED 3332/emagent
tcp 0 0 :::5500 :::* LISTEN 3323/java
tcp 0 0 ::ffff:192.168.56.11:1521 ::ffff:192.168.56.11:25500 ESTABLISHED 3891/oraclesampleDM
Eu fiz vários telnet oracleserver XXX
. Ele poderia se conectar com 22 e 1521, que parecem ser os dois primeiros que eu adicionei no iptables. Ele se recusou a se conectar em todo o resto - parece que está usando uma versão antiga do arquivo.
Mas da minha máquina host, se eu abrir um navegador e digitar https://oracleserver:5500/em/
, recebo um erro.
Já fiz sudo iptables restart
depois de modificar o arquivo e reiniciei o SO.
Comentei as linhas de rejeição (para ver se poderia haver um problema de roteamento) e até service iptables stop
. Eu ainda tenho o mesmo problema. O que é engraçado é que o ssh funciona do host ao guest!
route -n
nas saídas da VM convidada:
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
10.0.2.0 0.0.0.0 255.255.255.0 U 0 0 0 eth0
192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
169.254.0.0 0.0.0.0 255.255.0.0 U 1002 0 0 eth0
169.254.0.0 0.0.0.0 255.255.0.0 U 1003 0 0 eth1
0.0.0.0 10.0.2.2 0.0.0.0 UG 0 0 0 eth0
Algo estranho?
Este comentário por ott--
parece correto. Se o despejo de tela acima estiver completo, o serviço está apenas ouvindo 5500 no IPv6 e não está ouvindo 1158.
Tags networking iptables centos