Tuneloは、WebSocketやTCPなどの輸送プロトコルを介したUDPトラフィック(例:WireGuard)を暗号化し、トンネル。制限区域でVPNを使用するのに役立ちます。
このIPTABLESコマンドは、指定されたソースネットワーク(10.8.0.0/24)から発信されるパケットのソースIPアドレスを仮定(変更)するNATルールを追加して、それらのパケットがシステムを離れるときにルーター/ファイアウォールのパブリックIPアドレスと一致します。これは、NATゲートウェイまたはファイアウォールの背後にプライベートネットワークがあるシナリオで一般的に使用されており、ゲートウェイのパブリックIPアドレスを使用して内部デバイスにインターネットにアクセスする必要があります。
次のコマンドを実行した後、aptを使用してiptables-persistentパッケージをインストールしてルールを永続化できます。
$ iptables -A POSTROUTING -t nat -s 10.8.0.0/24 -j MASQUERADE次のコマンドは、LinuxシステムでのIP転送を有効にするために使用されます。 IP転送は、Linuxシステムが異なるネットワークインターフェイスまたはサブネット間のトラフィックをルーティングできる機能です。
次のコマンドを実行した後、/etc/sysctl.confを編集し、net.ipv4.ip_forwardパラメーターを1に設定できます。その後、sysctl -pを実行してIP転送を永続化します。
$ echo 1 > /proc/sys/net/ipv4/ip_forwardこれは、 Tuneloサーバーが実行されるサーバーに適用する必要があるワイヤーガード構成です。この構成を/etc/wireguard/wg0.confに保存します
プライベートキーとパブリックキーを必ず交換してください。
# Server
[Interface]
PrivateKey =
Address = 10.8.0.1/24
MTU = 1450
ListenPort = 23233
SaveConfig = false
DNS = 1.1.1.1
DNS = 8.8.8.8
# Phone
[Peer]
PublicKey = r8KQuA7mtVVpHwDY6vTFmeMBcn+Y7omh6EPWroMWcD8=
AllowedIPs = 10.8.0.2/32
$ wg-quick up wg0.confリポジトリをクローンし、サーバーディレクトリに移動してビルドします。
$ go build -o tunelo .IPおよびポート設定を指定して、プロキシサーバーを実行します。
$ ./tunelo -helpWireGuard Androidアプリを使用して、これらの設定を適用できます。 PrivateKeyとPublicKeyを交換する必要があります。
Tunelo Server IPを除外するか、 Tuneloクライアントが実行されるTermuxアプリを除外する必要があります。
ピア部分のエンドポイントは、電話で実行されているTuneloクライアントを指しています。
[Interface]
Address = 10.8.0.2/32
DNS = 1.1.1.1
ExcludedApplications = com.termux
ListenPort = 23233
MTU = 1450
PrivateKey =
[Peer]
AllowedIPs = 0.0.0.0/0
Endpoint = 127.0.0.1:23231
PersistentKeepalive = 25
PublicKey = D4PLMnAoDuXcgj7iTzyLs7NRptTND+z8vmxYA4Af218=
クライアントのリポジトリをクローンし、クライアントディレクトリに移動し、ビルドし、実行します。
フラグを使用してIP/ポート設定を提供してください。
$ tunelo -helpmit