Vì vậy, tôi đang sử dụng AWS bằng EC2 và tôi đang cố gắng mở một cổng cho Postgresql. Trong AWS Tôi đã có nó mở:Cổng mở trong Ubuntu
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
Khi tôi netstat nó trông như thể cổng đang lắng nghe:
# netstat -an | grep 5432
tcp 0 0 127.0.0.1:5432 0.0.0.0:* LISTEN
Khi tôi làm một nmap localhost tôi nhận được như sau:
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
Và đây là nơi thú vị bắt đầu. Khi tôi làm một nmap từ một máy chủ thay thế tôi nhận được như sau:
PORT STATE SERVICE
22/tcp open ssh
80/tcp open http
5432/tcp closed postgresql
Tôi cũng nhìn iptables của tôi để xem nếu tôi nhớ da diết cái gì đó, nhưng iptables trông trống (mà nên có nghĩa là họ không thực sự làm nhiều)
$ 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
Tôi thiếu điều gì đó khiến tôi không thể tìm ra cách truy cập vào ip. Bất cứ khi nào tôi thử, tôi nhận được lỗi sau:
Is the server running on host "xx.xx.xx.xx" and accepting TCP/IP connections on port 5432?
Làm cách nào để tôi có thể mở cổng để máy chủ bên ngoài có quyền truy cập vào nó? Cảm ơn trước =) Lemme biết nếu bạn cần bất kỳ dữ liệu bổ sung.
EDIT: Như hỏi dưới đây, tôi thử nghiệm telnet, và tôi đã có thể telnet vào localhost, nhưng khi cố từ bên ngoài tôi nhận được:
$ telnet xx.xx.xx.xx 5432
Trying xx.xx.xx.xx...
telnet: Unable to connect to remote host: Connection refused
Ngoài ra, tôi đôi kiểm tra và tôi đã đúng có thể telnet vào 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
bạn đang bỏ lỡ một câu hỏi thực tế, do đó, nó không hoàn toàn rõ ràng những gì bạn muốn chúng tôi trả lời. Ngoài ra, "Bất cứ khi nào tôi thử tôi nhận được lỗi sau:" bạn đang cố gắng cung cấp cho bạn lỗi đó là gì? Bạn đã thử telnet vào máy chủ chưa? Ngoài ra, không có nhiều trong iptables của bạn, nhưng nếu bạn có một mặc định từ chối kích hoạt thì không có gì là nhận được hộp đó TRỪ những gì được chỉ định để được cho phép trong iptables của bạn –
@RussellUhl Xin lỗi, tôi nghĩ tôi đã hỏi nó, nhưng dường như không. Tôi đã thêm câu hỏi vào cuối. Tôi đã không cố gắng telnetting vào máy chủ. Tôi sẽ thử ngay bây giờ. –
không phải lo lắng. Tôi đã chỉnh sửa bình luận của tôi ở trên để bao gồm một cái gì đó trên iptables của bạn. Hãy chắc chắn rằng bạn kiểm tra xem đó là –