web-dev-qa-db-ja.com

IPv6インバウンドトラフィックを自分のマシンに転送できるようにするにはどうすればよいですか?

ルーターのIPv6トラフィックがドロップされているようです。

トラフィックが自分のマシンに転送/受け入れられるように、ip6tablesを適切に構成するにはどうすればよいですか?

これが私のIPv6トラフィックのsyslogです。

Jun 29 18:44:52 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2002:xxxx:ba3d:0000:0000:0000:74ca:ba3d DST=My_IPv6_IP_ADDR LEN=68 TC=0 HOPLIMIT=119 FLOWLBL=0 PROTO=TCP SPT=58154 DPT=63282 SEQ=3810938415 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020404C401010402) 
Jun 29 18:44:52 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2002:xxxx:ba3d:0000:0000:0000:74ca:ba3d DST=My_IPv6_IP_ADDR LEN=78 TC=0 HOPLIMIT=119 FLOWLBL=0 PROTO=UDP SPT=28798 DPT=63282 LEN=38 
Jun 29 18:44:57 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2001:xxxx:0008:e8ad:0000:0000:0000:0001 DST=My_IPv6_IP_ADDR LEN=80 TC=0 HOPLIMIT=50 FLOWLBL=0 PROTO=TCP SPT=40930 DPT=80 SEQ=2391968293 ACK=0 WINDOW=14400 RES=0x00 SYN URGP=0 OPT (020405A00402080A7E7DEFB80000000001030307) 
Jun 29 18:44:58 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2001:xxxx:0008:e8ad:0000:0000:0000:0001 DST=My_IPv6_IP_ADDR LEN=80 TC=0 HOPLIMIT=50 FLOWLBL=0 PROTO=TCP SPT=40930 DPT=80 SEQ=2391968293 ACK=0 WINDOW=14400 RES=0x00 SYN URGP=0 OPT (020405A00402080A7E7DF0B20000000001030307) 
Jun 29 18:44:59 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2a02:xxxx:c310:a5a0:81eb:84c7:22af:7539 DST=My_IPv6_IP_ADDR LEN=72 TC=0 HOPLIMIT=43 FLOWLBL=0 PROTO=TCP SPT=58249 DPT=63282 SEQ=1653524828 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405A00103030801010402) 
Jun 29 18:44:59 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2a02:xxxx:c310:a5a0:81eb:84c7:22af:7539 DST=My_IPv6_IP_ADDR LEN=78 TC=0 HOPLIMIT=43 FLOWLBL=0 PROTO=UDP SPT=23103 DPT=63282 LEN=38 
Jun 29 18:45:00 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2001:xxxx:0008:e8ad:0000:0000:0000:0001 DST=My_IPv6_IP_ADDR LEN=80 TC=0 HOPLIMIT=50 FLOWLBL=0 PROTO=TCP SPT=40930 DPT=80 SEQ=2391968293 ACK=0 WINDOW=14400 RES=0x00 SYN URGP=0 OPT (020405A00402080A7E7DF2A70000000001030307) 
Jun 29 18:45:02 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2a02:xxxx:c310:a5a0:81eb:84c7:22af:7539 DST=My_IPv6_IP_ADDR LEN=72 TC=0 HOPLIMIT=43 FLOWLBL=0 PROTO=TCP SPT=58249 DPT=63282 SEQ=1653524828 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405A00103030801010402) 
Jun 29 18:45:02 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2a02:xxxx:c310:a5a0:81eb:84c7:22af:7539 DST=My_IPv6_IP_ADDR LEN=78 TC=0 HOPLIMIT=43 FLOWLBL=0 PROTO=UDP SPT=23103 DPT=63282 LEN=38 
Jun 29 18:45:06 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2601:xxxx:8380:06b8:5d87:46c7:7e85:08c9 DST=My_IPv6_IP_ADDR LEN=72 TC=0 HOPLIMIT=42 FLOWLBL=0 PROTO=TCP SPT=52362 DPT=63282 SEQ=3069346662 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405A00103030201010402) 
Jun 29 18:45:08 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2a02:xxxx:c310:a5a0:81eb:84c7:22af:7539 DST=My_IPv6_IP_ADDR LEN=68 TC=0 HOPLIMIT=43 FLOWLBL=0 PROTO=TCP SPT=58249 DPT=63282 SEQ=1653524828 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405A001010402) 
Jun 29 18:45:09 kernel: DROP IN=eth3 OUT=br0 MAC=MAC_ADDR_1 SRC=2601:xxxx:8380:06b8:5d87:46c7:7e85:08c9 DST=My_IPv6_IP_ADDR LEN=72 TC=0 HOPLIMIT=42 FLOWLBL=0 PROTO=TCP SPT=52362 DPT=63282 SEQ=3069346662 ACK=0 WINDOW=8192 RES=0x00 SYN URGP=0 OPT (020405A00103030201010402) 

ルーターのip6t_filter.defaultファイルの内容は次のとおりです。

*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:maclist - [0:0]
:bfplimit - [0:0]
:logaccept - [0:0]
:logdrop - [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -i br0 -j ACCEPT
-A INPUT -p 58 ! --icmpv6-type echo-request -j ACCEPT
-A INPUT -m state --state INVALID -j DROP
-A INPUT -p udp --sport 547 --dport 546 -j ACCEPT
-A INPUT -j DROP
-A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
-A FORWARD -i br0 -o br0 -j ACCEPT
-A FORWARD -p 58 -j ACCEPT
-A FORWARD -m state --state INVALID -j DROP
-A FORWARD -o br0 -j DROP
-A logaccept -m state --state NEW -j LOG --log-prefix "ACCEPT " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logaccept -j ACCEPT
-A logdrop -m state --state NEW -j LOG --log-prefix "DROP " --log-tcp-sequence --log-tcp-options --log-ip-options
-A logdrop -j DROP
COMMIT

br0インターフェースは次のとおりです。

br0       Link encap:Ethernet  HWaddr AA:BB:49:E3:62:8E
          inet addr:192.168.0.1  Bcast:192.168.0.255  Mask:255.255.255.0
          inet6 addr: IPv6_1 Scope:Global
          inet6 addr: fe80::e23f:49ff:fee3:628e/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:2233491 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1930092 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:0
          RX bytes:998010242 (951.7 MiB)  TX bytes:348204643 (332.0 MiB)

eth3インターフェースは次のとおりです。

eth3      Link encap:Ethernet  HWaddr MAC_ADDR_1
          inet addr:MyIPv4_Host_ADDR  Bcast:X.Y.223.255  Mask:255.255.224.0
          inet6 addr: IPv6_2 Scope:Global
          inet6 addr: fe80::e23f:49ff:fee3:628d/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:9909832 errors:0 dropped:0 overruns:0 frame:0
          TX packets:15334176 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000
          RX bytes:1243667320 (1.1 GiB)  TX bytes:19852159929 (18.4 GiB)
2
chuacw

DROPはすべてTCP SYNとしてマークされます。SYNは、新しいTCP接続が外部から着信することを意味します。したがって、最初に、素朴な答えは

-A FORWARD -m state --state NEW -j ACCEPT

しかし(あなたが尋ねなければならないので)あなたは実際にそれをしたくありません。もっと「適切な」ものが必要です。

誰かがプリンター、NAS、ファイアウォールが「ホーム」、別名「プライベートネットワーク」に設定されたWindowsデバイスを素朴に接続するためです。または、ネットワーク上でサービスを提供するその他のデバイス。これがネットワークの目的です。次に、インターネットはプリンターまたはNASを起動するか、Windowsデバイスによって共有されているファイルを調べます。申し訳ありませんが、セキュリティは最悪です。

コンシューマーIPv6ルーター(「CPE」)の標準を探すと、ルーターのようにステートフルファイアウォールが義務付けられていることがわかります。

サーバーを実行する場合は、別の「DMZ」ネットワーク上で専用のマシンを使用するのが理想的です。つまりホームLANにブリッジされていない、メインルーター上の分離されたネットワークポート。たとえば、ブログをホストする場合、誰かがブログソフトウェアに脆弱性を見つけたときに、これはPCを保護するレイヤーを提供します。

LANに直接接続された「プライベートクラウド」NAS、IPカメラなどのようなセキュリティサポート[1]を備えた消費者向けデバイスを実行する場合は、これがIPv4で一般的にどのように機能するかを確認する価値があります。彼らは主にuPnPポートフォワーディング[2]を使用し、それが失敗した場合は、ルーターでポートフォワード[3]を手動で構成するように指示します。これは、BitTorrentのようなピアツーピアファイル共有の仕組みでもあります。

これはIPv6でも同じように機能しますが、技術的にはポートを転送せず、ブロックを解除するだけです。 (ユーザーが接続するIPアドレスは、ルーターではなく、マシンのIPになります)。

uPnPポートフォワーディングはIPv6では機能しません。 PCPと呼ばれる同等のものがあります(AppleのIPv4用NAT-PMPに基づく)。それはBitTorrentに慣れると確信していますが、私の無知な推測では、それはあなたの場合には関係ありません。

手動ポート制御(v4/v6の両方)の場合、デバイスに固定IPアドレスを割り当てて、デバイスを永続的に識別できるようにする必要があります。その後、あなたはできる[4]

-A FORWARD -p tcp -d YOUR_MACHINE_IPV6_ADDRESS --dport 80 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

ポート63282、またはインターネットに公開するポートについても同じです。

これにより、ファイアウォールポリシーがルーターに集中します。 (すべてのポートのブロックを解除した場合は、i)マシンでサービスを実行しているii)マシンのホストファイアウォールiii)ルーターを引き続き監視する必要があります。

ネットワークはブリッジされているので、マシンがルーターのワイヤレスインターフェイスと有線インターフェイスを切り替えても、これは機能すると思います。 (どちらでも同じIPアドレスで動作するため)。

[1] http://www.wired.com/2014/01/theres-no-good-way-to-patch-the-internet-of-things-and-thats-a-huge-problem /
[2] http://en.wikipedia.org/wiki/Universal_Plug_and_Play#NAT_traversal
[3] http://en.wikipedia.org/wiki/Port_forwarding
[4] Stolen ^ W IPv4バージョンから適応 https://serverfault.com/questions/140622/how-can-i-port-forward-with-iptables

2
sourcejedi