Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Open Port in Ubuntu

So I'm using AWS using EC2 and I'm trying to open up a port for Postgresql. In AWS I already have it open:

TCP Port (Service)      Source                  Action 0 - 65535           sg-92aadda2 (default)   Delete 22 (SSH)            0.0.0.0/0               Delete 80 (HTTP)           0.0.0.0/0               Delete 5432                0.0.0.0/0               Delete 

When I do netstat it looks as though the port is listening:

# netstat -an | grep 5432 tcp        0      0 127.0.0.1:5432          0.0.0.0:*               LISTEN 

When I do a localhost nmap I get the following:

 Nmap scan report for localhost (127.0.0.1)  Host is up (0.000010s latency).  Not shown: 997 closed ports  PORT      STATE SERVICE  22/tcp    open  ssh  80/tcp    open  http  5432/tcp  open  postgresql 

And here's where the fun begins. When I do an nmap from an alternative host I get the following:

PORT      STATE  SERVICE 22/tcp    open   ssh 80/tcp    open   http 5432/tcp  closed postgresql 

I also looked at my iptables to see if I was missing something, but the iptables look empty (which should mean they aren't really doing much)

$ iptables -L Chain INPUT (policy ACCEPT) target     prot opt source               destination ACCEPT     all  --  anywhere             anywhere REJECT     all  --  anywhere             127.0.0.0/8          reject-with icmp-port-unreachable ACCEPT     all  --  anywhere             anywhere             state RELATED,ESTABLISHED ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:http ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:https ACCEPT     tcp  --  anywhere             anywhere             state NEW tcp dpt:ssh ACCEPT     tcp  --  anywhere             anywhere             tcp dpt:postgresql ACCEPT     icmp --  anywhere             anywhere LOG        all  --  anywhere             anywhere             limit: avg 5/min burst 5 LOG level debug prefix "iptables denied: " DROP       all  --  anywhere             anywhere  Chain FORWARD (policy ACCEPT) target     prot opt source               destination DROP       all  --  anywhere             anywhere  Chain OUTPUT (policy ACCEPT) target     prot opt source               destination ACCEPT     all  --  anywhere             anywhere 

Am I missing something cause I can't seem to figure out how to access the ip. Whenever I try I get the following error:

Is the server running on host "xx.xx.xx.xx" and accepting TCP/IP connections on port 5432? 

How do I make it so that I can open up the port so that external servers have access to it? Thanks in advance =) Lemme know if you need any additional data.

EDIT: As asked below, I tested telnetting, and I was able to telnet into the localhost, but when attempting from the outside I get:

$ telnet xx.xx.xx.xx 5432 Trying xx.xx.xx.xx... telnet: Unable to connect to remote host: Connection refused 

Also, I double checked and I was properly able to telnet into ssh:

$ telnet xx.xx.xx.xx 22 Trying xx.xx.xx.xx... Connected to xx.xx.xx.xx. Escape character is '^]'. SSH-2.0-OpenSSH_5.9p1 Debian-5ubuntu1.1 
like image 585
Aram Papazian Avatar asked Jul 24 '13 15:07

Aram Papazian


People also ask

How do I open port 80 and 443 on Ubuntu Server?

Use below commands: sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT. sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT.

How do I open port 80 on Ubuntu Server?

To open ports 80 and 443 we need to add an iptables rule. For this Ubuntu uses ufw. The first thing we should do is open a command line terminal and check the current status of our ufw firewall. Based on the above output (relevant part in bold), all incomming ports are blocked by default.


2 Answers

Edit /etc/postgresql/<version>/main/postgresql.conf and set the listen_addresses to your outgoing interface or all. Restart postgresql: sudo service postgresql restart.

like image 106
TeTeT Avatar answered Sep 19 '22 12:09

TeTeT


It works for me the last method (thks Julio):

Edit: postgresql.conf

sudo nano /etc/postgresql/9.3/main/postgresql.conf

Enable or add:

listen_addresses = '*'

Restart the database engine:

sudo service postgresql restart


Besides, you can check the file: pg_hba.conf

sudo nano /etc/postgresql/9.3/main/pg_hba.conf

And add your network or host address:

host all all 192.168.1.0/24 md5

like image 41
angelous Avatar answered Sep 21 '22 12:09

angelous