Tại sao tôi không thể kết nối với PostgreSQL (máy chủ localhost) khi VPN của tôi hoạt động?


0

Tôi chỉ lãng phí một giờ trong cuộc sống của mình để cố gắng tìm ra lý do tại sao pgAdminIII không thể kết nối với máy chủ localhost. Sau khi thử chỉnh sửa cấu hình, bắt đầu / dừng dịch vụ postgresql, v.v., cuối cùng tôi nhận ra chỉ có một điều đã thay đổi kể từ lần cuối tôi sử dụng pgAdminIII: Tôi đã kết nối với VPN của mình.

Tôi không phải là người hướng dẫn mạng, vì vậy đó là lý do tại sao tôi hỏi ở đây: tại sao tôi không thể kết nối với PostgreSQL (localhost) khi tôi kết nối tích cực với nhà cung cấp VPN của mình?

Phần thưởng: những lệnh / bước nào tôi có thể sử dụng để hiển thị chính xác tại sao ?


CHỈNH SỬA :

pg_hba.conf :

...
# CAUTION: Configuring the system for local "trust" authentication
# allows any local user to connect as any PostgreSQL user, including
# the database superuser.  If you do not trust all your local users,
# use another authentication method.


# TYPE  DATABASE        USER            ADDRESS                 METHOD

# "local" is for Unix domain socket connections only
local   all             all                                     trust
# IPv4 local connections:
host    all             all             127.0.0.1/32            trust
# IPv6 local connections:
host    all             all             ::1/128                 trust
# Allow replication connections from localhost, by a user with the
# replication privilege.
#local   replication     chris                                trust
#host    replication     chris        127.0.0.1/32            trust
#host    replication     chris        ::1/128                 trust

Phiên bản OS X : 10.12.6 (Sierra)

Phiên bản PostgreSQL : 9.6.3

Nhà cung cấp VPN : ExpressVPN


Cần thêm thông tin - bao gồm thông tin kết nối - chủ yếu là tên máy chủ (không đăng mật khẩu) được sử dụng bởi pgAdminIII. Kết xuất tệp pg_hba.conf và chi tiết hệ điều hành của bạn sẽ hữu ích. Tôi nghi ngờ rằng OpenVPN là một cá trích đỏ.
davidgo

@davidgo Đã thêm. Xin lỗi về điều đó, tôi đã đăng mà không thực sự nghĩ về thông tin cấu hình. Cài đặt Postgres hoàn toàn mặc định - Tôi không thay đổi gì cả. Và tôi đang sử dụng ExpressVPN, không phải OpenVPN. Máy chủ localhost là localhost:5432(mặc định).
Chris Cirefice

ExpressVPN là nhà cung cấp - OpenVPN là một chương trình. ExpressVPN sử dụng OpenVPN. Bạn đang gặp lỗi gì và bạn có nhận ra rằng tệp cấu hình postgres của bạn cho phép mọi người kết nối với nó từ hệ thống cục bộ mà không cần mật khẩu không? Vấn đề rất khó liên quan đến OpenVPN - nhưng hãy kiểm tra xem tệp lưu trữ của bạn ánh xạ localhost thành 127.0.0.1 (hoặc :: 1/128) chứ không phải là một địa chỉ IP khác không thể truy cập qua giao diện LO. Ngoài ra, hãy kiểm tra xem phần mềm VPN có gây rối với các quy tắc tường lửa của bạn không - nhưng điều này là không thể
davidgo

Câu trả lời:


0

Tôi không phải là trình hướng dẫn mạng, vì vậy đó là lý do tại sao tôi hỏi ở đây: tại sao tôi không thể kết nối với PostgreSQL (localhost) khi tôi kết nối tích cực với nhà cung cấp VPN của mình?

Bạn đã cấu hình cài đặt PostgreSQL của mình để chỉ cho phép kết nối localhost.

Tôi có thể sử dụng những lệnh / bước nào để hiển thị chính xác tại sao?

Sửa đổi pg_hba.conf để bao gồm một mục nhập cho địa chỉ IP ExpressVPN của bạn

lưu trữ tất cả tin cậy xxx.xxx.xxx.xxx

Tôi không đề nghị bạn cung cấp cho tất cả người dùng cục bộ và cơ sở dữ liệu kết nối với máy chủ của bạn bằng cách sử dụng quyền truy cập địa chỉ VPN vào cơ sở dữ liệu của bạn. Nếu bạn muốn đó là trường hợp, bạn sẽ thay đổi xxx.xxx.xxx.xxxđịa chỉ IP ExpressVPN của mình và bất kỳ người dùng nào cũng có thể kết nối với máy chủ cơ sở dữ liệu của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.