當 IPv6 前綴是動態時,允許入站 IPv6 流量到主機和連接埠嗎?

當 IPv6 前綴是動態時,允許入站 IPv6 流量到主機和連接埠嗎?

使用 IPv4,您過去可以為 LAN 上的主機提供靜態本機 IP 位址,並使用防火牆/路由器上的防火牆規則將網路使用的(可能是動態的)面向 Internet 的 IP 上的連接埠轉送到特定主機上的連接埠,使用主機的靜態LAN IPv4 位址作為在防火牆規則中識別主機的穩定方式。

但對於 IPv6,每台主機都使用真正的可路由 Internet IP,因此該主機的傳入流量已被尋址到它,並且不需要 NAT。但您仍需要能夠編寫一條防火牆規則來規定應允許某個特定主機和連接埠的入站流量,同時封鎖至其他主機或連接埠的流量。

但是,如果網路分配 IPv6 位址的前綴是動態的,您將如何在防火牆規則中引用特定主機以允許流量流向該主機?您不能只允許流量流向其 IPv6 位址,因為下週它將擁有具有不同前綴的 IPv6 位址,因為 ISP 將為網路分配不同的前綴。

那麼,如何實際配置防火牆以允許某些連接埠上該主機的入站流量?看起來ip6tables有一個--dest按目的地匹配的選項,但這似乎只能讓您輸入整個地址,而不是例如可以確保主機保持靜態的地址後綴。從手冊頁:

       [!] -s, --source address[/mask][,...]
              Source  specification.  Address can be either a network name, a
              hostname, a network IP address (with /mask), or a plain IP  ad‐
              dress. Hostnames will be resolved once only, before the rule is
              submitted to the kernel.  Please note that specifying any  name
              to  be resolved with a remote query such as DNS is a really bad
              idea.  The mask can be either an ipv4 network mask  (for  ipta‐
              bles)  or  a  plain number, specifying the number of 1's at the
              left side of the network mask.  Thus, an iptables mask of 24 is
              equivalent to 255.255.255.0.  A "!" argument before the address
              specification inverts the sense of the address. The flag  --src
              is  an alias for this option.  Multiple addresses can be speci‐
              fied, but this will expand to multiple rules (when adding  with
              -A), or will cause multiple rules to be deleted (with -D).

       [!] -d, --destination address[/mask][,...]
              Destination  specification.   See  the  description  of  the -s
              (source) flag for a detailed description of  the  syntax.   The
              flag --dst is an alias for this option.

有沒有辦法處理這個問題ip6tables?是否還有其他一些層ip6tables應該產生隨著網路重新編號而變化的規則,每個人都在實際使用?是否有某種ip6tables插件可以讓我匹配將流向特定主機的流量,即使網路號碼發生變化?其他作業系統防火牆的處理方式是否有所不同?

答案1

ip6tables接受位址的位元遮罩。與 IPv4 不同iptables,這些位元不一定全部位於位址的開頭,因此類似這樣的內容應該可以正常運作:

ip6tables -A INPUT -d ::1234:56ff:fe78:90ab/::ffff:ffff:ffff:ffff -j ACCEPT

這將使 ip6tables 接受所有發送到以 結尾的 IPv6 位址的封包::1234:56ff:fe78:90ab,無論前綴如何。

相關內容