Closed namaenonaimumei closed 2 years ago
PRありがとうございます。 DNSリークについて詳しくないのですが、このコードだと alfredopalhares/openvpn-update-resolv-conf がインストールされていない環境の場合はどうなるのでしょうか?
一応PKGBUILD
内依存パッケージとして登録しましたが、スクリプトパスが無効な場合は接続する前にエラーが出ますね。
DNSリークをざっと説明しますと、IPが違うのにリクエストされているドメインのIP検索先は更新されないという感じですね。
本来DNSリークって言うのは、VPNを通して接続する際に望ましくないのです。(ISPデータ漏れる恐れがあるのですから)
今どおりの依存パッケージ同時応用が望みでしたら、たとえばこういうのはどうでしょうか
@nm-vpngate
#-- Add DNS extension to prevent DNS leaks --#
[[ -f "${DNS_SCRIPT}" && $(stat --format '%U' "${DNS_SCRIPT}") = "root" ]] && sed -i "\|<ca>|,\|^-----BEGIN CERTIFICATE-----|{s#^-----BEGIN CERTIFICATE-----#script-security 2\nup ${DNS_SCRIPT}\ndown ${DNS_SCRIPT}\n<ca>\n-----BEGIN CERTIFICATE-----#p;d}" "${_ovpn_file}" || true
@nm-vpngate.conf
# Path to DNS setup script
DNS_SCRIPT="/etc/openvpn/update-resolv-conf"
あるいは--skip-dns
とかのフラグを追加するのもありかと。。(基準的にはDNS_SCRIPTが有効で、使いたくはない場合vm-gate --skip-dns
で実行という考えです)
上の提案ですが https://github.com/namaenonaimumei/nm-vpngate/pull/1 にて確認できます。 よろしいのであれば、こっちのPRにいつでもマージ可能となっております。
返信遅れてしまってすみません
#1
も一緒にPR送ってほしいです
今の
master
ではopenvpnが基準設定となっており、DNSが再設定されない恐れがあります。 確かめるには他国VPS、あるいは接続しようとしているVPNと異なる国から接続し、DNSリークテストを行うこと。このPRでは、openvpnコンフィグファイルにopenvpn-update-resolv-confを追加し、DNSが国ごとに再設定される仕組みになっております。
PKGBUILD
も更新しました。