GNU/Linux >> Linux の 問題 >  >> Linux

iptables:--src-type LOCAL の正確な意味は?

addr-type LOCAL がループバックを意味するという答えは間違っていると思います。なぜなら、それは部分的な答えであり、非常に誤解を招くからです.LOCAL は、ループバックを含む、ホストのインターフェイスの 1 つに割り当てられた IP を意味します。 LOCAL が単純に 127.0.0.0/8 であると言う場合 (sasanet が述べているように)、それをループバック インターフェイスに限定することになりますが、これは明らかに間違っています。

さらに、IP はルーティング可能でパブリックにすることもできます。ホストの観点からは、IP はホスト自体を参照するため、これは無関係です。インターフェイスに割り当てられたパブリック IP に curl または ping を実行すると、パケットは明らかに送信されず、ローカルにルーティングされます。例:

IP アドレスは dev eth0 を表示します:

 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9001 qdisc mq state UP group default qlen 1000
    link/ether 0a:e7:8b:89:d5:f4 brd ff:ff:ff:ff:ff:ff
    inet 172.31.20.254/20 brd 172.31.31.255 scope global dynamic eth0
       valid_lft 3110sec preferred_lft 3110sec

ip route show table local:

local 172.31.20.254 dev eth0 proto kernel scope host src 172.31.20.254

(既に述べたように、IP がネットワーク インターフェイスに割り当てられている限り、IP がプライベートかパブリックかは明らかに無関係です)


ここでかなり良い説明:http://security.maruhn.com/iptables-tutorial/x6330.html

それに関する別の議論:http://www.linuxquestions.org/questions/linux-networking-3/wtf-addrtype-in​​-iptables-manpage-746659/


「ローカル ルート」という用語は、宛先がホストのインターフェイスの 1 つに割り当てられているため、パケットがホストに「ローカルに」配信されることを意味します。 しない localhost のみを意味します 、ループバック アドレスのように (または 169.254/16 「リンクローカル」アドレスのように)。

Linux は Netlink プロトコルを使用して、カーネル空間とユーザー空間の間でメッセージを送信します。その中の Netlink ファミリの 1 つは NETLINK_ROUTE です。 、ルーティング アップデートの受信、インターフェイス アドレスの変更などに使用できます。 .たとえば、iproute2 の ip-route コマンドはこれを使用します。

addrtype を見ると iptables のソース コードでは、linux/rtnetlink.h への参照が表示されます。 RTN_LOCAL を定義する メッセージタイプとして。 rtnetlink(7) man ページでは RTN_LOCAL について説明しています として:

rtm_type          Route type
───────────────────────────────────────────────────────────
RTN_LOCAL         a local interface route

これについて読んでもはっきりとわかるものはなく、私が見つけることができる最良の参考文献のいくつかはさまざまなインターネット ソースであるため、混乱が生じる理由は理解できます。


Linux
  1. この警告はどういう意味ですか?

  2. ドットファイルでrcは何を意味しますか

  3. #define X X とはどういう意味ですか?

  1. kill -3 とはどういう意味ですか?

  2. grep パターンで \b はどういう意味ですか?

  3. init は正確に何をしますか?

  1. `:-`はシェルスクリプトで何を意味しますか?

  2. ep 能力とはどういう意味ですか?

  3. トップの %st はどういう意味ですか?