como abrir portas para localhost no linux?

2

Eu tenho lido durante a última hora sobre a abertura de portas no Ubuntu 12.04 e não consigo fazer nada funcionar. Estou executando um programa com um servidor RPC aceitando conexões locais no host local (127.0.0.1) que permitiu o intervalo de IP 192.168.*.*

Eu tentei editar o iptables para permitir conexões de entrada, mas o curl ainda não pode se conectar ao servidor RPC, não importa o que eu faça.

$ sudo iptables -A INPUT -i eth0 -p tcp --dport 18332 -j ACCEPT
$ nmap -v -sT localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2013-07-13 05:54 UTC
Initiating Ping Scan at 05:54
Scanning localhost (127.0.0.1) [2 ports]
Completed Ping Scan at 05:54, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 05:54
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Discovered open port 21/tcp on 127.0.0.1
Discovered open port 3389/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Completed Connect Scan at 05:54, 0.05s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00060s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
3389/tcp open  ms-term-serv

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds
$ sudo iptables -A INPUT -i eth0 -p tcp --dport 18332 -m state --state NEW,ESTABLISHED -j ACCEPT
$ sudo iptables -A OUTPUT -o eth0 -p tcp --sport 18332 -m state --state ESTABLISHED -j ACCEPT
$ !nmap
nmap -v -sT localhost

Starting Nmap 5.21 ( http://nmap.org ) at 2013-07-13 05:57 UTC
Initiating Ping Scan at 05:57
Scanning localhost (127.0.0.1) [2 ports]
Completed Ping Scan at 05:57, 0.00s elapsed (1 total hosts)
Initiating Connect Scan at 05:57
Scanning localhost (127.0.0.1) [1000 ports]
Discovered open port 21/tcp on 127.0.0.1
Discovered open port 3306/tcp on 127.0.0.1
Discovered open port 22/tcp on 127.0.0.1
Discovered open port 3389/tcp on 127.0.0.1
Discovered open port 80/tcp on 127.0.0.1
Completed Connect Scan at 05:57, 0.05s elapsed (1000 total ports)
Nmap scan report for localhost (127.0.0.1)
Host is up (0.00072s latency).
Not shown: 995 closed ports
PORT     STATE SERVICE
21/tcp   open  ftp
22/tcp   open  ssh
80/tcp   open  http
3306/tcp open  mysql
3389/tcp open  ms-term-serv

Read data files from: /usr/share/nmap
Nmap done: 1 IP address (1 host up) scanned in 0.10 seconds

Aqui está a saída do curl:

$ curl --user uname:upass --data-binary '{"jsonrpc": "1.0", "id":"curltest", "method": "getinfo", "params": [] }' -H 'content-type: text/plain;' http://127.0.0.1:18332/
% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
Dload  Upload   Total   Spent    Left  Speed
0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (7) couldn't connect to host
    
por Joey 13.07.2013 / 08:10

1 resposta

1

Para depurar o problema, você provavelmente precisará fornecer uma cópia de suas regras de firewall do iptables - Algo como / sbin / iptables -vnL seria suficiente.

Eu suspeito que você tenha um firewall em que a última regra seja "Soltar tudo". As regras que você adicionou foram anexadas ao final da tabela após essa regra e, portanto, não foram executadas. Em vez de escrever suas regras iniciando "sudo iptables -A", tente "sudo iptables -I" para inserir as regras no topo.

Além disso, seu comando sudo "iptables -A ENTRADA -i eth0 -p tcp --dport 18332 -j ACCEPT" é falho se você estiver tentando se conectar ao host local. Você especificou um "-i eth0", o que implica um dispositivo ethernet. Localhost usa um dispositivo "lo" especial. Você pode estar melhor apenas deixando de fora o parâmetro "-i eth0" para que funcione em todas as interfaces.

Por razões semelhantes, sua declaração "(127.0.0.1) que permitiu ip range 192.168. . " é falha, como 192.168. . nunca deve corresponder a uma rota para 127.0.0.1, como o endereço IP de origem será a interface "lo" que é ligada a 127.0.0.1.

    
por 13.07.2013 / 08:28