Iptables no Ubuntu Server não abre portas

1

O Iptables precisa do ufw para funcionar?

Eu tentei abrir 4447 sem sucesso no meu servidor ubuntu 12.10 usando o iptables.

fez:

server:~# iptables -A INPUT -p tcp --dport 4447 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Depois disso iptables -L:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination         
ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:4447 state NEW,RELATED,ESTABLISHED
Chain FORWARD (policy ACCEPT)
target     prot opt source               destination         
Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Mas o nmap não me mostra a porta 4447:

server:~# nmap -sV localhost
Starting Nmap 6.00 ( http://nmap.org ) at 2013-04-26 12:54 BRT
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00078s latency).
Not shown: 991 closed ports
PORT     STATE SERVICE                VERSION
22/tcp   open  ssh                    OpenSSH 6.0p1 Debian 3ubuntu1 (protocol 2.0)
139/tcp  open  netbios-ssn            Samba smbd 3.X (workgroup: WORKGROUP)
445/tcp  open  netbios-ssn            Samba smbd 3.X (workgroup: WORKGROUP)
3306/tcp open  mysql                  MySQL 5.5.31-0ubuntu0.12.10.1
5432/tcp open  postgresql             PostgreSQL DB
8080/tcp open  http                   Apache httpd 2.2.22 ((Ubuntu))

Alguém pode me ajudar a consertar isso?

Eu fiz os mesmos passos em outro servidor (CentOS 6) e funcionou rapidamente

Obrigado antecipadamente

    
por jordan 26.04.2013 / 18:47

1 resposta

2

Certifique-se de que realmente há algo escutando na porta 4447 / tcp. Caso contrário, se não houver, o nmap não mostrará essa porta como aberta.

Você pode verificar isso com:

sudo netstat -tpln | grep 4447

Se você não está recebendo o nome do programa na saída, não há nada escutando nesta porta.

ATUALIZAÇÃO:

Após o esclarecimento do OP, parece que o objetivo é redirecionar as conexões TCP de entrada para uma determinada porta para uma porta alternativa. Como redirecionar conexões de entrada para 4447 / tcp para 3306 / tcp, onde o MySQL está escutando.

Supondo que o seu servidor tenha o endereço IP 10.0.0.1 e o MySQL esteja escutando em 3306 / tcp, a maneira de fazer o que você está procurando é:

iptables -t nat -A PREROUTING -p tcp --dport 4447 -j DNAT --to-destination 10.0.0.1:3306
iptables -t nat -A OUTPUT -p tcp -d 127.0.0.1 --dport 4447 -j REDIRECT --to-ports 3306

iptables -A INPUT -p tcp --dport 3306 -j ACCEPT
iptables -A INPUT -p tcp --dport 4447 -j ACCEPT
    
por Marcin Kaminski 26.04.2013 / 20:22