投げ銭

★当サイトへの投げ銭(PayPal)★

LINK


(無償)
logo
世界中で使われるISO標準オフィスソフト(MSオフィス互換)
The Document Foundation Wiki

人気の投稿(1ヶ月間)

Ad

Ad

投げ銭

★当サイトへの投げ銭(PayPal)★

2018年3月30日金曜日

【さくらVPS/東】ipv6tablesを設定する【Linux CentOS 6】

(更新 2018/8/1)ip6tablesの設定変更の必要あり

(注意)
8月1日以降、東京リージョンでは「(この記事内の旧情報)フィルタルール例」でうまく通信できなくなってしまった。
代わりに、ICMPv6関係では、次の設定を用いる必要があった。
ip6tables -A INPUT -d fe80::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
ip6tables -A INPUT -d fe80::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT
ip6tables -A INPUT -d ff02::/16 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
ip6tables -A INPUT -d ff02::/16 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT
ip6tables -A INPUT -s 2xxx:xxxx:xxxx:xxxx::1/128 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
ip6tables -A INPUT -s 2xxx:xxxx:xxxx:xxxx::1/128 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT

ip6tables -A INPUT -s fe80::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
ip6tables -A INPUT -s fe80::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT
※2xxx:xxxx:xxxx:xxxx::1 は、割り当てられたGUAの先頭64bit::1である。

上記はICMPv6だけ抜粋したものです。
実際の通信には、さらに下記旧情報を参考にして、ICMPv6以外の設定を加える必要があります。

しかし、ip6tables -L -v コマンドで、通過パケットの統計情報を確認すると、
最後の2行(太字)で設定したパスフィルタにはパケットが通過しており、
それ以外のフィルタは0パケットのままだった。
このことから、ICMPv6で必要なのはただ2行分だけかもしれない。
さらに追跡調査する必要がある。


以下は、旧情報としてあげておきます。考え方は共通するものがあるので、
ご参考にしてください。


-----旧情報↓------

さくらのVPS環境(東)の仮想マシンでIPv6通信を行う場合、
次のようにip6tablesを設定すると、うまくインターネット側とのやりとりができた。
さくらVPSでは、IPアドレスは静的に設定するため、下記ではDHCP関係の通信は考慮していない。

下記に加えて、
インターネット側にあるマシンのGUAをACCEPTするフィルタをさらに追加することで、
インターネット側から開始する接続も可能になった。


■考え方

IPv6では、IPv4とは異なり、隣接するマシンを探索するブロードキャストでもIP通信を行う。

・ipv6-icmp neighbour-solicitation(icmpv6-type 135)
・pv6-icmp neighbour-advertisement(icmpv6-type 136) 

この2種類のICMPパケットの入力を許可しなければ、通信不可能になってしまう。

また、さくらのVPS環境では、このICMPパケットのフィルタリングルールで使うIPv6アドレスとして、何パターンか用意する必要があった。
無用な通信の入力を避けるため、AnyWhereは使用したくなかった。

下記の例では、ipv6-icmp neighbour パケットの入力と、ステートフルインスペクションを考慮して作成したものである。
しかしIPv6においてICMPの役割は重要で、これ以外のタイプのICMPの入力も必要になってくる。
例えば、パケットが大きすぎて経路上のルーターで分割が必要になった際に通知される情報もICMPの別のタイプで通知される。
下記の例では、これらの通知を受け取ることができない。

それでもとりあえず、下記の設定で、システムのアップデートを行うことができた。



■フィルタルール例

# cat /etc/sysconfig/ip6tables
# Generated by ip6tables-save v1.4.7 on Wed Mar 28 21:31:02 2018
*filter
:INPUT DROP [2:144]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [7219:625541]
-A INPUT -i lo -j ACCEPT
-A INPUT -i eth0 -m state --state ESTABLISHED -j ACCEPT
-A INPUT -i eth0 -m state --state RELATED -j ACCEPT
-A INPUT -d fe80::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
-A INPUT -d fe80::/64 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT
-A INPUT -d ff02::/16 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
-A INPUT -d ff02::/16 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT
-A INPUT -s 2xxx:xxxx:xxxx:xxxx::1 -p ipv6-icmp -m icmp6 --icmpv6-type 135 -j ACCEPT
-A INPUT -s 2xxx:xxxx:xxxx:xxxx::1 -p ipv6-icmp -m icmp6 --icmpv6-type 136 -j ACCEPT
COMMIT
# Completed on Wed Mar 28 21:31:02 2018
※2xxx:xxxx:xxxx:xxxx::1 は、割り当てられたGUAの先頭64bit::1である。


○マシン起動直後に、各フィルタを通ったパケットの状態を表示させた。

# ip6tables -L -v
Chain INPUT (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination     
    0     0 ACCEPT     all      lo     any     anywhere             anywhere       
   27  5321 ACCEPT     all      eth0   any     anywhere             anywhere            state ESTABLISHED
    0     0 ACCEPT     all      eth0   any     anywhere             anywhere            state RELATED
    1    72 ACCEPT     ipv6-icmp    any    any     anywhere             fe80::/64           ipv6-icmp neighbour-solicitation
    0     0 ACCEPT     ipv6-icmp    any    any     anywhere             fe80::/64           ipv6-icmp neighbour-advertisement
   15  1080 ACCEPT     ipv6-icmp    any    any     anywhere             ff02::/16           ipv6-icmp neighbour-solicitation
    0     0 ACCEPT     ipv6-icmp    any    any     anywhere             ff02::/16           ipv6-icmp neighbour-advertisement
    1    72 ACCEPT     ipv6-icmp    any    any     2xxx:xxxx:xxxx:xxxx::1/128  anywhere            ipv6-icmp neighbour-solicitation
    1    72 ACCEPT     ipv6-icmp    any    any     2xxx:xxxx:xxxx:xxxx::1/128  anywhere            ipv6-icmp neighbour-advertisement     
   
   
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination     

Chain OUTPUT (policy ACCEPT 45 packets, 6237 bytes)
 pkts bytes target     prot opt in     out     source               destination


○数分経過後に、同様に結果を表示させた。

# ip6tables -L -v
Chain INPUT (policy DROP 7 packets, 504 bytes)
 pkts bytes target     prot opt in     out     source               destination     
    0     0 ACCEPT     all      lo     any     anywhere             anywhere       
   42  6521 ACCEPT     all      eth0   any     anywhere             anywhere            state ESTABLISHED
    0     0 ACCEPT     all      eth0   any     anywhere             anywhere            state RELATED
  147 10584 ACCEPT     ipv6-icmp    any    any     anywhere             fe80::/64           ipv6-icmp neighbour-solicitation
  237 16240 ACCEPT     ipv6-icmp    any    any     anywhere             fe80::/64           ipv6-icmp neighbour-advertisement
  119  8568 ACCEPT     ipv6-icmp    any    any     anywhere             ff02::/16           ipv6-icmp neighbour-solicitation
    0     0 ACCEPT     ipv6-icmp    any    any     anywhere             ff02::/16           ipv6-icmp neighbour-advertisement
    1    72 ACCEPT     ipv6-icmp    any    any     2xxx:xxxx:xxxx:xxxx::1/128  anywhere            ipv6-icmp neighbour-solicitation
    1    72 ACCEPT     ipv6-icmp    any    any     2xxx:xxxx:xxxx:xxxx::1/128  anywhere            ipv6-icmp neighbour-advertisement      
   
   
Chain FORWARD (policy DROP 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination     

Chain OUTPUT (policy ACCEPT 549 packets, 43501 bytes)
 pkts bytes target     prot opt in     out     source               destination



<参考>
・IPv6 - multicast address
< http://www.infraexpert.com/study/ipv6z10.html > 2018年3月30日

・VPS  OSセットアップ情報(CentOS 6)
< https://help.sakura.ad.jp/hc/ja/articles/206053672-OS%E3%82%BB%E3%83%83%E3%83%88%E3%82%A2%E3%83%83%E3%83%97%E6%83%85%E5%A0%B1-CentOS-6- > 2018年3月30日

投げ銭

★当サイトへの投げ銭(PayPal)★

Ad

Ad