2007年7月15日の日記の3番目の記事へのコメント

SSD/Linuxでiptablesとか

次にnamedの設定.こっちはこっちでzoneファイルで「IN SOA 〜」の後の「(」をうっかり次の行に書いてしまったがために超はまりましたorz.全然別の行って気づかなかったし・・・.namedを「-d 1 -g」とかつけて起動したときに読み込みで問題があるみたいなメッセージが出てたんですが全然気づかなかったのがまた情けない・・・.はまった時間は長いけど,原因が単なるtypoなのでこの辺は手短に.

続いてiptablesでfirewallとNATみたいなものを作る作業.設定自体はまあいつもの通りでいいんですが,ここで一つ問題が.SSD/Linuxは /etc/rc.confに「iptables=YES」とか書いとくとiptablesが起動時に処理されるみたいなナントカBSDみたいな仕掛けになってんですが,その辺を処理するnetstartを見てみると,どうもrc.iptablesが実行された後にdhclientが起動される模様.

これで何がおこるかというと,rc.iptablesの中で,外側の口のIPアドレスを含んだルールを設定できないという問題が生じます(rc.iptablesが呼ばれた時点で外側の口にはまだIPが無いんで)./etc/netstartを書き換えちゃえばいいんですが,何かそれだと次アップデートしたときにすこぶる面倒そう.

というわけで,軽く悩んだ末,iptablesの設定内容の内,外側の口のアドレスを使う方を/etc/rc.iptables.localとして,/etc/network.localから呼ぶようにしてみました.これで一応うまくいった感じ.

最後にdhcpdを上げて,ひとまずルータとしての最低限のところは完成.変なところではまったけど,いくつか勉強になってよかったですわ.この外神田はどうなのかとちょっと思いますがw

そういやいつも思うんですが,ifconfigの出力を加工する以外に,スクリプトでインタフェースについたIPアドレスを知る方法って無いもんですかね.現状↓とか書いてるんですが,見た目がどうにも・・・.あ,いや,sedのIPアドレスチェック部分の最初3つはまとめろよとかそういうのではなくてですね(^^;

ifconfig eth0 | grep "inet addr:" | \
sed -e 's/^.*inet addr:\([0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\.[0-9]\{1,3\}\).*$/\1/'

お名前:  メールアドレス(省略可):
メールアドレスも表示されます
ここに名前その他を書いてはいけません: ここにメールアドレスその他を書いてはいけません:

2007年7月15日の日記の3番目の記事へのコメント

中の人情報

名前:
nosuke (のすけ)
メール:
sasugaanijaのgmail.com
「の」は「@」みたいな
関連リンク:

カレンダー

2007年7月
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31        

<<先月分

翌月分>>

最新の10件のエントリ

最近の10件のコメント

過去ログ