WSLのLinuxからWindows10側のPostreSQL(などのサーバー)を呼び出す
4258 ワード
経緯
- WSLのLinxからWindows10側のPostgreSQL(などのサーバー)を呼び出そうとして、すぐにできなかったのでメモ
- WSLのLinuxとWindows 10間の通信で考慮することがある
- 結構、大変なので、WSL側にPostgreSQL Serverを入れるなどを検討した方がよいのかもしれない
環境
Windows 10 側
- Windows 10
- postgresql-13.3-2-windows-x64.exe
- Windows Terminal
- WSL2
WSL Ubuntu 側
- Windows Subsystem for Linux Ubuntu 20.04
- postgresql-client-common
- postgresql-client-12
- net-tools
sudo apt install postgresql-client-common
sudo apt install postgresql-client-12
sudo apt install net-tools
WSLのLinux上でのIPアドレスを確認(WSLの操作)
ifconfig
WSLからWindows 10側にアクセスするためのIPアドレスを取得する(WSLの操作)
- nameserverがWindows10側のIPになるのを利用している? (*1を参考にした)
grep nameserver /etc/resolv.conf | awk '{print $2}'
- 起動の度にIPが変わるようなので、Windows10側のIPを書きだすコマンドを .bashrc に追加するなどの仕組みが必要そう (*1 ではhostsに追記しているようだ)
- 今回は試していないが、以下が *1 にあるの内容
cat /etc/hosts | grep 172.; test $? -eq 0 && $1 || echo -e "$(grep nameserver /etc/resolv.conf | awk '{print $2, " host"}')\n$(cat /etc/hosts)" | sudo tee /etc/hosts
PostgreSQL Client Authentication Configuration File(アクセス制御)の設定 (Windows 10側の設定)
- PostgreSQL の pg_hba.conf を編集
場所
C:\Program Files\PostgreSQL\13\data\
編集内容例
- WSLから通信できるように設定する
- (クラスBのプライベートIPアドレスを指定したつもりだが正しいだろうか)
host all all 172.16.0.0/12 trust
アンチウィルスなどのセキュリティアプリの設定
- 各アプリで、通信できるように設定を見直す
Windows Defender Firewallの設定例
- 「受信の規則」で「プロトコルおよびポート」を開放
- 「スコープ」を指定して、IPアドレスを指定
Windows 10 側
- Windows 10
- postgresql-13.3-2-windows-x64.exe
- Windows Terminal
- WSL2
WSL Ubuntu 側
- Windows Subsystem for Linux Ubuntu 20.04
- postgresql-client-common
- postgresql-client-12
- net-tools
sudo apt install postgresql-client-common
sudo apt install postgresql-client-12
sudo apt install net-tools
WSLのLinux上でのIPアドレスを確認(WSLの操作)
ifconfig
WSLからWindows 10側にアクセスするためのIPアドレスを取得する(WSLの操作)
- nameserverがWindows10側のIPになるのを利用している? (*1を参考にした)
grep nameserver /etc/resolv.conf | awk '{print $2}'
- 起動の度にIPが変わるようなので、Windows10側のIPを書きだすコマンドを .bashrc に追加するなどの仕組みが必要そう (*1 ではhostsに追記しているようだ)
- 今回は試していないが、以下が *1 にあるの内容
cat /etc/hosts | grep 172.; test $? -eq 0 && $1 || echo -e "$(grep nameserver /etc/resolv.conf | awk '{print $2, " host"}')\n$(cat /etc/hosts)" | sudo tee /etc/hosts
PostgreSQL Client Authentication Configuration File(アクセス制御)の設定 (Windows 10側の設定)
- PostgreSQL の pg_hba.conf を編集
場所
C:\Program Files\PostgreSQL\13\data\
編集内容例
- WSLから通信できるように設定する
- (クラスBのプライベートIPアドレスを指定したつもりだが正しいだろうか)
host all all 172.16.0.0/12 trust
アンチウィルスなどのセキュリティアプリの設定
- 各アプリで、通信できるように設定を見直す
Windows Defender Firewallの設定例
- 「受信の規則」で「プロトコルおよびポート」を開放
- 「スコープ」を指定して、IPアドレスを指定
ifconfig
- nameserverがWindows10側のIPになるのを利用している? (*1を参考にした)
grep nameserver /etc/resolv.conf | awk '{print $2}'
- 起動の度にIPが変わるようなので、Windows10側のIPを書きだすコマンドを .bashrc に追加するなどの仕組みが必要そう (*1 ではhostsに追記しているようだ)
- 今回は試していないが、以下が *1 にあるの内容
cat /etc/hosts | grep 172.; test $? -eq 0 && $1 || echo -e "$(grep nameserver /etc/resolv.conf | awk '{print $2, " host"}')\n$(cat /etc/hosts)" | sudo tee /etc/hosts
PostgreSQL Client Authentication Configuration File(アクセス制御)の設定 (Windows 10側の設定)
- PostgreSQL の pg_hba.conf を編集
場所
C:\Program Files\PostgreSQL\13\data\
編集内容例
- WSLから通信できるように設定する
- (クラスBのプライベートIPアドレスを指定したつもりだが正しいだろうか)
host all all 172.16.0.0/12 trust
アンチウィルスなどのセキュリティアプリの設定
- 各アプリで、通信できるように設定を見直す
Windows Defender Firewallの設定例
- 「受信の規則」で「プロトコルおよびポート」を開放
- 「スコープ」を指定して、IPアドレスを指定
C:\Program Files\PostgreSQL\13\data\
編集内容例
- WSLから通信できるように設定する
- (クラスBのプライベートIPアドレスを指定したつもりだが正しいだろうか)
host all all 172.16.0.0/12 trust
アンチウィルスなどのセキュリティアプリの設定
- 各アプリで、通信できるように設定を見直す
Windows Defender Firewallの設定例
- 「受信の規則」で「プロトコルおよびポート」を開放
- 「スコープ」を指定して、IPアドレスを指定
host all all 172.16.0.0/12 trust
- 各アプリで、通信できるように設定を見直す
Windows Defender Firewallの設定例
- 「受信の規則」で「プロトコルおよびポート」を開放
- 「スコープ」を指定して、IPアドレスを指定
psqlの実行
psql -h 172.x.x.x -U postgres
参考資料
psql -h 172.x.x.x -U postgres
Author And Source
この問題について(WSLのLinuxからWindows10側のPostreSQL(などのサーバー)を呼び出す), 我々は、より多くの情報をここで見つけました https://qiita.com/hachicomb/items/e29390c6ec479c6b44fd著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .