ソックスプロキシを介してローカルネットワークをルーティングする別の方法を検討してください。 「redsocks」を
使用した
以前の方法とは異なり、
これは「badvpn-tun2socks」パッケージを使用して、ネットワークレベル(ネットワークモデルOSI)でのルーティングの可能性を考慮します。 この記事は、DebianストレッチOSに基づいたこのようなルーターの作成と継続的な使用に焦点を当てています。
システム設定の説明に進む前
に、badvpnソースへのリンクを提供し
ます (おそらく誰かがそれを必要とするでしょう)。
そのため、パッケージをダウンロードしてビルドした後、次の内容のsystemdサービスをすぐに作成することを提案します。
cat /etc/systemd/system/tun2socks.service [Unit] Description=Start tun2socks [Service] ExecStart=///badvpn-tun2socks --tundev tun0 --netif-ipaddr 10.0.0.2 --netif-netmask 255.255.255.0 --socks-server-addr 127.0.0.1:1080 [Install] WantedBy=multi-user.target
ここで、開始パラメーター「
--socks-server-addr 127.0.0.1:1080 」では、「tun2socks」が要求をsocks-proxyサーバーアドレスに送信することがわかります。 (たとえば、
前の方法の ssh-tunnel)。
パラメーター "
--netif-ipaddr 10.0.0.2 "および "
--netif-netmask 255.255.255.0 "は、アドレス10.0.0.2を持つ "tun2socksルーター"を作成する役割を果たします。このトンネルには、 "
- -tundev tun0 "。
理解のために、控えめなスキームを示します。
+----------+ +-----------+ +----------------+ +------------+ | tun0 |____| tun2socks |___| socks |______| ssh-server | | 10.0.0.1 | | 10.0.0.2 | | 127.0.0.1:1080 | | *pubic ip* | +----------+ +-----------+ +----------------+ +------------+ | +----------+ +-----------+ +----------------+ | NAT |____| dhcpd/ |___| LAN | | iptables | | wlp6s0 | | 192.168.1.0/24 | +----------+ +-----------+ +----------------+
「
tun0 」は、システム上で設定する必要がある仮想インターフェイスです。ローカルネットワーク\ホストからの要求がそれに到着します。 Debianの標準にしましょう:
cat /etc/network/interfaces auto lo auto wlp6s0 auto tun0
tun2socksサービスによって以前に作成されたリストからわかるように、wlp6s0インターフェースの状態がそれを制御します。 これは、実行中のtun2socksサービスが仮想インターフェイスtun0と連携して動作するため、ネットワークインターフェイス初期化システムの通常の操作の結果、サービスを停止せずに仮想インターフェイスを削除できなくなるためです。
「
192.168.1.1経由でip route add <dns-server-ip-address>を 追加 」行と「
192.168.1.1経由で <ssh-server-ip-address>を 追加 」という行に注意する必要があり
ます 。 それらでは、値「
<dns-server-ip-address> 」および「
<ssh-server-ip-address> 」の代わりに、使用するDNSおよびSSHサーバーのIPアドレスを指定し、現在のゲートウェイに従ってIPアドレス「192.168.1.1」を置き換える必要がありますデフォルトで。
/etc/sysctl.confファイルでカーネルレベルのルーティングサポートを有効にしても問題ありません。
net.ipv4.ip_forward=1
そして、コマンドを使用して変更を適用します。
sysctl -p /etc/sysctl.conf
この時点で、tun2socksの構成は完了します。ネットワークインターフェイスサービスを再起動すると、ホストからのすべての発信TCPトラフィックはsocksプロキシサーバーを経由してルーティングされます。 次の最後の手順は、dhcpサーバーを使用したローカルネットワークのルーティング、そのインストールと構成、
前の方法で調べたもの、およびiptablesを使用したNATの構成です。
次の内容のファイルを作成する必要があります。
cat /etc/iptables.test.rules *filter -A FORWARD -i tun0 -o wlp6s0 -m state --state RELATED,ESTABLISHED -j ACCEPT -A FORWARD -i wlp6s0 -o tun0 -j ACCEPT COMMIT *nat -A POSTROUTING -o tun0 -j MASQUERADE COMMIT
必要に応じて、システムに応じてインターフェイスの名前を変更し、コマンドで適用します。
iptables-restore < /etc/iptables.test.rules
ローカルネットワークから作業を確認します。すべてが適切な場合は、ルールを保存します。
iptables-save > /etc/iptables.rules
スクリプトを追加:
cat /etc/network/if-pre-up.d/iptables
そして、それを実行可能にします:
chmod +x /etc/network/if-pre-up.d/iptables
これで、ブート後にこれらのルールが適用され、検閲の回避やLAN接続の保護に最適なDebianベースのルーターを自由に使用できるようになります。