88.198.49.xxx
= Hetzner(仮想マシンが実行される場所)
141.94.176.xxx
=OVH(下のブロックを含む)
164.132.xxx.0/28
= Hetznerの仮想マシンのIPブロックとして使用
GREを設定するために、次のコマンドを実行しました。
OVH:
ip tunnel add gre1 mode gre remote 88.198.49.xxx local 141.94.176.xxx ttl 255
ip link set gre1 up
ip route add 164.132.xxx.0/28 dev gre1
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
ヘルツナー:
ip tunnel add gre1 mode gre remote 141.94.176.xxx local 88.198.49.xxx ttl 255
ip link set gre1 up
ip rule add from 164.132.xxx.0/28 table 666
ip route add default dev gre1 table 666
ip route add 164.132.xxx.0/28 dev vmbr0 table 666
iptables -A FORWARD -p tcp --tcp-flags SYN,RST SYN -j TCPMSS --clamp-mss-to-pmtu
/etc/network/インターフェース(ヘッツナー)
auto vmbr0
iface vmbr0 inet static
address 164.132.xxx.1/28
bridge-ports none
bridge-stp off
bridge-fd 0
164.132.xxx.1 ルートを追跡すると正常に動作しますが、Hetzner IP は表示されません。
7 1 ms 1 ms 1 ms 10.95.34.50
8 2 ms 2 ms 2 ms 10.73.1.135
9 2 ms 2 ms 2 ms 10.72.66.67
10 2 ms 2 ms 2 ms 10.164.42.155
11 1 ms 1 ms 1 ms xxxxxx [141.94.176.xxx]
12 17 ms 17 ms 17 ms xxxxxx [164.132.xxx.1]
ただし、164.132.xxx.2 を使用して VM を追跡すると、次の結果が表示されます。
7 1 ms 1 ms 1 ms 10.95.34.32
8 2 ms 2 ms 2 ms 10.73.1.45
9 2 ms 2 ms 2 ms 10.72.66.67
10 2 ms 2 ms 1 ms 10.164.42.163
11 1 ms 1 ms 1 ms xxxxxx [141.94.176.xxx]
12 14 ms 14 ms 14 ms xxxxxx [88.198.49.xxx]
13 15 ms 15 ms 15 ms xxxxxx [164.132.xxx.2]
88.198.49.xxxが表示されないようにどのように隠すことができますか? NATを介してこれを行うことができると思いますが、NATアドレスをVMアドレスとして使用したくありません。可能であれば、VMの構成を次のように維持したいと思います。
IP: 164.132.xxx.2/28
Gateway: 164.132.xxx.1
答え1
IPアドレス88.198.49.xxxと164.132.xxx.1は、同じシステム、つまりHetznerルーターとして機能するハイパーバイザーを表します。
したがって、宛先がシステム自体の場合は、164.132.xxx.1で連絡したアドレスで応答します。 164.132.xxx.2のルーターとして機能すると、ICMPが生成されます。転送中にTTLが期限切れになりました。ルーティングテーブルで最も適切なアドレスを選択します。デフォルトでは、関連インターフェイス()でデフォルトのIPアドレスを選択しますgre1
が、そのインターフェイスに設定されたIPアドレスがないため、いくつかのアルゴリズムに従って88.198.49.xxxを取得します(おそらくローカルトンネルエンドポイントアドレスであるためです。それは重要ではありません)。
src
通常、この動作を変更するには、次のようにヒントを使用してパスを求めるメッセージを表示できます。録音された:
src
ADDRESS
ルーティングプレフィックスを含む宛先に送信するときのデフォルトソースアドレス。
したがって、表666のデフォルトパスを次のように置き換えます。
ip route add default dev gre1 table 666
到着する:
ip route add default dev gre1 src 164.132.xxx.1 table 666
動作します...テーブル666を除いては使用されません。放射1パック。追加は次のip rule iif gre1 table 666
目的には使用されません。放射、ip rule add oif gre1 table 666
起動時に使用されないインターフェイスにバインド。
したがって、これにはメインルーティングテーブルのグローバル動作が必要ですが、OVHに属するIPアドレスが漏洩して検出された場合、Hetznerに問題を引き起こす可能性があります。悪い。
私が見つけることができる最も簡単な方法は、次のように表示することです。グレー1また、重いものを使用しないでください。つながる関数、グローバル使用fwmark_reflect
システム制御の切り替え:
fwmark_reflect - BOOLEAN
コントロールマークカーネル生成IPv4応答パケットTCP RST や ICMP エコー応答などのソケットには接続されません。設定されていない場合、これらのパケットのfwmarkは0です。設定されている場合は、応答するパケットのfwmarkがあります。
このイベントはルーティング決定フェーズで引き続き発生するため、ルーティングが発生する前にフラグを設定する必要があります。
したがって、上記の変更に加えて、src 164.132.xxx.1
次のことを行う必要があります。
iptables -t mangle -A PREROUTING -i gre1 -j MARK --set-mark 666
ip rule add fwmark 666 lookup 666
sysctl -w net.ipv4.fwmark_reflect=1
ヘッツナーのIPアドレスは公開されなくなりました。