SmackのNetlabel

Smackを動作させて見たところ、なぜか外部にICMPを送るとエラーが返ってくる。

[root@vmfedora7 smack]# ping 192.168.1.238
PING 192.168.1.238 (192.168.1.238) 56(84) bytes of data.
From 192.168.1.238 icmp_seq=1 Parameter problem: pointer = 22
From 192.168.1.238 icmp_seq=2 Parameter problem: pointer = 22
From 192.168.1.238 icmp_seq=3 Parameter problem: pointer = 22


なんで?と思ってWiresharkでICMPパケットをのぞいてみると、IPのオプションに、CIPSO(Commercial IP security option)がくっついてました。
CIPSOを使うとIPのパケットにラベルとカテゴリをつけてセキュアな通信ができるようになりますが、Smackではデフォルトでくっついてきます。


とりあえず使わない場合は、/smack/nltypeに、"unlabeled"(または"NLBL_UNLBL")を突っ込んであげます。

[root@vmfedora7 ~]# cat /smack/nltype ; echo
NLBL_CIPSOv4
[root@vmfedora7 ~]# echo "unlabeled" > /smack/nltype
[root@vmfedora7 ~]# cat /smack/nltype ; echo
NLBL_UNLBL
[root@vmfedora7 ~]#

戻すときは"cipso"(または"cipsov4", "NLBL_CIPSOv4")です。
RIPSOやCIPSOv6も設定できますが、まだ実装されていないようです。(unlabeledとして動作してます)