次のネットワークとUFWルールを使用して、2つのトンネルを持つWireguard「サーバー」として実行されるUbuntuシステム(192.168.AB)があります。
ネットワーク 10.255.200.0/24
ufw allow XXX/udp && ufw route allow in on wg200 out on any && ufw route allow in on wg200 out on eth0 && ufw route allow in on eth0 out on wg200
ネットワーク 10.255.245.0/24
ufw allow YYY/udp && ufw route allow in on wg245 out on wg245 to any from any && ufw route reject in on wg245 out on any to any from any
10.255.200.0/24 ネットワーク上のデバイスがホストの外部に到達できるように、/etc/ufw/before.rules に以下を追加しました。
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.255.200.0/24 -o eth0 -j MASQUERADE
COMMIT
これはうまくいくようですが、ホストネットワーク(192.168.A.0/24)の他のホストがデフォルトで192.168.Aにアクセスできない10.255.245.0/24ネットワーク上のシステムにアクセスできるようにする必要があります。 0/22。
ホストネットワークを安全に保ち、WGネットワークをできるだけ分離するためにどのUFWルールを使用する必要がありますか?また、変装を行うより良い方法はありますか?
よろしくお願いします!
答え1
問題の説明と設定したUFWルールの間で、WireGuardサーバーに次の4つのことを許可したいと思いますか? :
- wg200ネットワーク上の2つのホスト間の接続を転送します。
- wg200 ネットワーク上のすべてのホストから eth0 ネットワーク上のすべてのホストへの接続を偽装します。
- wg245ネットワーク上の2つのホスト間の接続を転送します。
- eth0 ネットワーク上のすべてのホストから wg245 ネットワーク上のすべてのホストへの接続を偽装します。
この4つのことだけを許可するには、次のものが必要な唯一のUFWルーティングルールです。
ufw route allow in on wg200 out on wg200
ufw route allow in on wg200 out on eth0
ufw route allow in on wg245 out on wg245
ufw route allow in on eth0 out on wg245
MASQUERADE
また、2番目のルールを追加する必要があります/etc/ufw/before.rules
(#4を偽造したい場合)。
*nat
:POSTROUTING ACCEPT [0:0]
-A POSTROUTING -s 10.255.200.0/24 -o eth0 -j MASQUERADE
-A POSTROUTING -s 192.168.A.0/24 -o wg245 -j MASQUERADE
COMMIT
UFWは自動的に次の2つを設定します。
- UFWは、接続追跡を使用して、一方向に転送された接続先が接続の元のソースに応答できるようにします(したがって、「逆方向」ではなく「前方」方向の規則を指定するだけです)。
- UFWは、明示的に許可された接続を除くすべての転送された接続をブロックします(したがって、明示的に許可されていない接続を拒否する必要はありません)。
したがって、既存のルートルールを厳しく選択するには、次の手順を実行します。
(1) ufw route allow in on wg200 out on any
(2) ufw route allow in on wg200 out on eth0
(3) ufw route allow in on eth0 out on wg200
(4) ufw route allow in on wg245 out on wg245 to any from any
(5) ufw route reject in on wg245 out on any to any from any
- (1)と(2)は重複しています。 (1)があれば(2)は不要です。ただし、(1)はwg200のすべてのホストがwg245のすべてのホストに接続できるようにします(必要なものはわかりません)。 ?)
- eth0 ネットワーク上のホストへのアクセスを許可する場合にのみ必要です。 (3)始めるwg200ネットワークへの新しい接続。 eth0ネットワークのホストが常にwg200ネットワーク接続の受信側にある場合(wg200からeth0になりすましている可能性が高い)、これは必要ありません。ルール
to any from any
(4)不要- (5)不要