サーバー機のリプレイスを行ったのですがその時、iptablesの設定をしていてNetBIOS関連のポートを塞ぐのに、
iptables -A INPUT -s ! $LOCALNET -p tcp -m multiport –dports 135,137,138,139,445 -j DROP
なんて普通に記述していたんですが、
Bad argument `XXX.XXX.XXX.XXX/255.255.255.0′
Try `iptables -h’ or ‘iptables –help’ for more information.
何ていうメッセージが。。。。。
ほんと暫く悩んでしまって(-_-;)
そしたらちゃんと答えは書いてあるんですよね。
Try `iptables -h’ or ‘iptables –help’ for more information.
[!] –proto -p proto protocol: by number or name, eg. `tcp’
[!] –source -s address[/mask][…]
source specification
自分の記述している行と見比べてみたら指定しているローカルアドレス以外の指定である、
! $LOCALNET
が上記のヘルプを見ると、
[!] –source -s address[/mask][…]
ってなってるんですよね。
つまり正解は、
! -s $LOCALNET
ってこと?
と言うわけで、
iptables -A INPUT ! -s $LOCALNET -p tcp -m multiport –dports 135,137,138,139,445 -j DROP
とすると無事設定できました(^_-)
ちなみに今回使用したiptablesのバージョンは v1.4.12
以前のバージョンはv1.4.1.1
v1.4.1.1のヘルプを見ると、
–proto -p [!] proto protocol: by number or name, eg. `tcp’
–source -s [!] address[/mask]
source specification
なんて感じで[!]の位置はアドレスの直前になってますね。
いつからこうなったんだろう?
ってかちゃんと新しいバージョンのiptables使えよ!!って自分に突っ込み入れてしまった。
コメント
>ピキちゃん
カッコよくないですよ。
完全に失敗談なので同じ様にハマらない様に思って(^_^.)
私はあんまりバージョンアップとかしないんですよ。
そのバージョンでちゃんと動くことが確認出来るまで。
さらに上手く動いているモノは触らない事にしています(笑)
セキュリティーパッチは当てますが(^_-)
凄いなぁ。こういうの解るのってカッコイイなぁ。
パソコンのソフトってすぐバージョンアップしてその都度色々変わるのでついて行くのが大変ですよね…(小池さんはそんなこと無いだろうけど)。