私はipv6を有効にするために私のubuntupcでgogocトンネルブローカーを使用しています。 UbuntuPCをipv6ルーターとして使用したい。 gogocクライアントでルーターモードを有効にしました。ローカルLAN上のルーターをアドバタイズするためにradvdを使用しています。 tun
はトンネル(WAN)インターフェースです。 br0
はLANインターフェースです(ラップトップをワイヤレスアクセスポイントにするためにwan0とeth0がブリッジされています)。パケット転送を有効にし、ルーターとLANデバイスのセキュリティをかなり向上させるために使用できるファイアウォールルール。
私はその特定のトンネルブローカーに精通しているとは言えません。あなたがホスト用に/ 64を受け取ったと思います。/48を提供するトンネルブローカーがいくつかあります。その場合、ルールを少し調整する必要があります。これらはiptables-save形式です。
*filter
:INPUT DROP [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
# Allow established connections
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT
# Allow ICMPv6 traffic (required for IPv6) This could be tightened up but it must
# be done very carefully unless you know what you're doing. It could block all
# routing
-A INPUT -p ipv6-icmp -j ACCEPT
-A FORWARD -p ipv6-icmp -j ACCEPT
# Allow traffic from your internal hosts to the outside world
-A FORWARD -s <your address block>::/64 -j ACCEPT
COMMIT
「<youraddressblock> ::/64」は、割り当てられているアドレス範囲に置き換える必要があります。
このファイアウォールは、ローカルIPv6アドレスへのすべての外部接続を防ぎ、すべてへのアクセスを許可します。内部IPv6ホストでサービスを提供する必要がある場合は、最後に(ただし、COMMITの前に)FORWARDチェーンに許可ルールを追加する必要があります。
Linuxベースのルーターの場合、shorewall6
--- ip6tables
---に基づくファイアウォールツールが非常にうまく機能することがわかりました。生のshorewall6
の代わりにip6tables
のようなフロントエンドツールを使用することで、ICMPv6の迷走(どのタイプを受け入れる必要がありますか?/reject?)、すでに適切に処理されているため。
shorewall6
を構成するには、/etc/shorewall6
内の十分に文書化された少数の構成ファイルを編集します。少なくとも、次のファイルを変更します。
zones
、ネットワークに名前を付けます。interfaces
、ネットワークインターフェースとそれらが接続されているゾーンを一覧表示します。policy
、ゾーン間で転送するためのデフォルトのポリシー(ACCEPT、DROPなど)を定義します。rules
。ここで、ポリシーに特定の例外を作成できます。(他にもいくつかのファイルがありますが、ほとんどの場合、デフォルトで問題ありません。)
あなたの場合、lan
とwan
のように2つのゾーンを定義できます。デフォルトのwan
-to -lan
ポリシーはDROPになり、デフォルトのlan
- to -wan
ポリシーはACCEPTになります。次に、たとえば、lan
ゾーンからwan
ゾーン内の特定のホストへのssh接続を許可する場合は、それらの例外をrules
ファイルに追加します。
要約すると、shorewall6
のようなフロントエンドツールを使用すると、堅牢で安全なルーター/ファイアウォールを非常に簡単に作成できます---生のip6tables
---を使用するよりも確かに簡単です。構成(ゾーン、ポリシー、ルール)を行うと、基本的な詳細が処理されます。