nftablesでそのインターフェイスに複数のIPアドレスが割り当てられている場合、パケットの着信IPアドレスをどのように取得しますか?

nftablesでそのインターフェイスに複数のIPアドレスが割り当てられている場合、パケットの着信IPアドレスをどのように取得しますか?

2022年9月15日に更新されました。

私が達成しようとしていたことはあまり意味がないことがわかりました。したがって、実際にこの質問は削除する必要があります。しかし、非常に啓蒙的な意見があるので、現在はそのままにして、その運命に対する決定はコミュニティに任せます。

元の質問:

私は現在一生懸命勉強しており、nftablesある程度進展しています。今、私は次の問題を抱えています(質問が愚かな場合は注意してください。しかし、すべての参照は現在ダウンしているwiki.netfilter.orgにリンクされています(私はいつも幸運です:-))。

一部のクライアントPCと実行中のルーター/ファイアウォールPCを備えたIPv4ネットワークがありますnftables。ルーターには2つのIPアドレスが192.168.20.253あります192.168.20.254。前者は管理ルータにのみ使用されます(たとえば、SSHデーモンはそのアドレスのルータでリッスンします)、後者はクライアントが使用する必要があるゲートウェイアドレスです。

ルーターのルールセットでは、通過するパケットを区別できるようにしたいです(これらのパケットのnftables場合(宛先アドレス)が実際に.253ローカルネットワーク外の場合にのみSSHを許可します)。daddr.253.254daddr

.253.254とが2つの異なるインターフェイスに割り当てられている場合は、これを達成する方法を知っています。しかし、これは本当ではありません。両方のルータの IP アドレスが同じインターフェイスに割り当てられます。

誰かが私にヒントを与えることができますか?でヒントが見つかりませんでしたman nftiporのようなルーティング表現が言及されていますが、nexthop明らかに役に立ちません。同じネットワークカードに2つのインターフェイスを作成し、それらを1つ.253ずつ割り当てる必要がありますか.254

答え1

ルータには2つのIPアドレス(192.168.20.253と192.168.20.254)があります。両方とも...同じインターフェイスに割り当てられます。

だから私たちは次のようなものを持っています:

# ip addr
3: enp0s8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 08:00:27:f8:ed:0e brd ff:ff:ff:ff:ff:ff
    inet 192.168.20.254/24 brd 192.168.20.255 scope global enp0s8
       valid_lft forever preferred_lft forever
    inet 192.168.20.253/24 brd 192.168.20.255 scope global secondary enp0s8
       valid_lft forever preferred_lft forever

したがって、どちらも同じ物理イーサネットポート(L1)と同じMACアドレス(L2)にあります。

クライアントが.253経由でインターネットにアクセスするのを防ぎたい。

つまり、クライアントは自分のコンピュータにゲートウェイを次の192.168.20.253ように設定できます。192.168.20.254

ルーターのnftablesルールセットからどのパケットを区別できるかを望んでいます。~を通して入る.253

ここで何が間違っているのか見てみましょう。

...

1つの理由は、後で.253を別のものに簡単に変更できるようにしたいからです(一方、.254は「固定」されています)。

単純なDNSサーバーを実行し、クライアントがIPの代わりにDNS名を使用して接続できるようにします。

しかし、私はこれを一般的な方法では達成できないことを知っています。

あなたのシナリオで一般的なアプローチは、ターゲットIPを確認してDNSを設定することです。探す。

2番目のインターフェイスを作成して.253に割り当ててみましょう。これで問題が解決します。

物理層とデータリンク層からユーザーを分離するには、別々のインターフェースが必要です。

また、使用しているIPアドレスはすべて同じIPサブネット上にあるため、2つのインターフェイスを持っていても意味がなく、両方のインターフェイスを介して同じサブネットにアクセスするとルーティングの問題も発生します。

/ 31プレフィックスより大きい他のサブネットに192.168.20.253および192.168.20.254を配置できません。

関連情報