pingが通らない

pingを打つと以下のようなエラーになる。

PING 192.168.29.1 (192.168.29.1) 56(84) bytes of data.
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted
ping: sendmsg: Operation not permitted

エラーメッセージでググるとどうやら原因はfarewallの設定らしい。
見てみると確かに自ホストからpingを打っても通さないようになっていたため修正。

-A INPUT -p icmp -s 192.168.29.7 --icmp-type 0 -j ACCEPT
-A OUTPUT -p icmp -s 192.168.29.7 --icmp-type 8 -j ACCEPT

$ sudo /sbin/iptables-restore < /etc/iptables

icmp typeは0がエコー応答、8がエコー要求
参考:http://www.atmarkit.co.jp/ait/articles/0112/18/news002_2.html

しかし、上記の設定でも通らず。。
なぜならINPUTの設定でもsourceが自ホストになっているから。
正しい設定はこれでした

-A INPUT -p icmp -d 192.168.29.7 --icmp-type 0 -j ACCEPT
-A OUTPUT -p icmp -s 192.168.29.7 --icmp-type 8 -j ACCEPT

INPUTの-sを-dへ修正
これでpingが通るようになりましたー

ネットワーク、アプリの接続確認に関してとてもわかりやすくまとまっているページを見つけたので貼っておく
http://blog.asial.co.jp/816