
|
[バックナンバーのトップへ] [Linux システム管理のトップへ] いますぐ実践! Linux システム管理 / Vol.065 / 読者数:840名こんばんは、うすだです。
昨日、住んでいるマンションで、避難訓練がありました。 こういうのって、ついつい面倒くさいと思いがちですが、 参加してみると意外と興味深かったりします。今回も、いい(?)経験ができました。 しかし、20世紀末頃に似たような訓練を受けたはずなのに、 これっぽっちも覚えていませんでした。人間の記憶はあまりあてになりません。 何事も、大事なことは定期的にリマインドしないといけないなあ、 なんて思いました。 当たり前のことを言ったところで、今週もはりきってまいりましょう! 今週のお題 - お試しネットワーク環境を作るシステム管理者であれ開発者であれ、 はたまたカスタマサポートなどしている方々であれ、 ちょっとしたお試し環境的クローズドなネットワークがあると、 なにかと便利ですよね。 今や、ネットワークインタフェースも HUB もイーサネットケーブルも、 十数年前と比べると、ありえないくらい安くなりました。 数千円もあればちょちょいと一式が揃ってしまいますね。いい世の中になりました…。
しかし、そのネットワークが、社内 LAN から切り離された、
鉄壁完全なクローズド状態ですと、それはそれで不便です。 というわけで今週は、そんなお試しネットワーク環境を、構築してみたいと思います。 …なんて、だいそれたことを書いてしまいましたが、IP マスカレードを利用すれば、 簡単に実現できます。 ああやっぱりとか、なーんだと思われた貴兄は、宿題まですっ飛んでってください。 (宿題の答えはがんばりましたので、できれば見てください。)
で、今回は、以下のような環境を想定して、話を進めます。
社内 LAN お試し LAN
+------------------+-+ +-+------------------+
192.168.1.0/24 | | 172.16.0.0/16
+-----[Linux マシン]-----+
192.168.1.55(eth0) 172.16.1.55(eth1)
<------------------------------------><------------------------>
既存の部分 新たに構築する部分
192.168.1.0/24 というネットワークアドレスの社内 LAN があり、
そこに Linux マシンがつながっている、とします。
今日は、その Linux マシンにネットワークインタフェースを増設して、
お試しネットワーク環境(お試し LAN)を作りたいと思います。 ネットワークインタフェースはなんでもいいですが、 USB など気軽に増設できるものがあると、他の用途にも使い回せるので、 便利だと思います。
まあとにかく、ぷすっと増設して、eth1 で認識されたら、
172.16.1.55 というアドレスを割り振って、使えるようにします。 # ifconfig eth1 172.16.1.55 up …というところで、ようやく出発点にたどり着きました。 はい、では、設定方法を淡々とご紹介します。
まず、sysctl コマンドを使って、IP フォワーディングを有効にします。 # sysctl -w net.ipv4.ip_forward=1 net.ipv4.ip_forward = 1
恒久的に設定したい場合は、/etc/sysctl.conf に以下を追加しますと、
次回の起動から勝手に設定してくれるようになります。 net.ipv4.ip_forward = 1
次に、iptables コマンドを使って、IP マスカレードの設定を行います。 # iptables -t nat -A POSTROUTING -s 172.16.0.0/16 -j MASQUERADE 送信元が 172.16.0.0/16 で、外へ出ていくパケットを、IP マスカレードで処理する、 という設定を追加しています。
基本的には、これで設定は完了です。 # ifconfig eth0 172.16.1.101 up # route add default gw 172.16.1.55
そして、192.168.1.0/24 上のマシンにアクセスします。 上記の動作確認がうまくいって、この設定を恒久的に残したいなら、 以下を実行しましょう。 # /etc/init.d/iptables save 今の設定が、 そっくりそのまま /etc/sysconfig/iptables というファイルに記録されます。 そして、次回起動時には、このファイルの設定を戻してくれます。おー便利! 以上、IP マスカレードでお試しネットワーク環境を作る方法を、 ご紹介しました。
IP マスカレードでは、経路制御などで悩む必要がないので、気軽に接続できます。
ニーズがなくても、お暇でしたら、是非やってみてください。
上記の通りにやって、一発で動いてしまいますと、それで終ってしまうのですが、
打ち間違えたりなどしますと、いろいろ悩むことができます。 今の状態を知りたいときは、iptables コマンドを -L オプションつきで実行します。 # iptables -t nat -L Chain PREROUTING (policy ACCEPT) target prot opt source destination Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all -- 172.16.0.0/16 anywhere Chain OUTPUT (policy ACCEPT) target prot opt source destination また、設定をそっくり全部消したい場合は、-F オプションを使います。 # iptables -t nat -F 他に設定があって、全部消すのはまずいという貴兄は、-D オプションを使って、 条件に合うものだけを消すことができます。 # iptables -t nat -D POSTROUTING -s 172.16.0.0/16 -j MASQUERADE これだけ知っていれば、そこそこ試行錯誤できると思います。(^ε^) 宿題の答え先週の宿題は、 root のパスワードを入力しなくても、一般ユーザがシステム管理ツール を実行できるようにしてみましょう。 でした。
まずは、ありがちな sudo を使う方法ですね。 ALL ALL=(root) NOPASSWD:/usr/sbin/tcpdump そして、sudo 経由で tcpdump を実行します。 % sudo /usr/sbin/tcpdump 次にありがちなのが、setuid を用いる方法です。 # ls -l /usr/sbin/tcpdump -rwxr-xr-x 1 root root 393176 Jun 13 2004 /usr/sbin/tcpdump # chmod u+s /usr/sbin/tcpdump # ls -l /usr/sbin/tcpdump -rwsr-xr-x 1 root root 393176 Jun 13 2004 /usr/sbin/tcpdump setuid をつけると、そのコマンドの所有者の権限で、 コマンドを実行することができます。 % /usr/sbin/tcpdump …試しおわって、特に必要なければ、以下を実行して元に戻しましょう。 # chmod u-s /usr/sbin/tcpdump
それから、inetd 経由で起動する、という方法も考えられます。 12345 stream tcp nowait root /usr/sbin/tcpdump tcpdump -l inetd に通知します。 # kill -HUP `cat /var/run/inetd.pid` そして、localhost に接続します。 % telnet localhost 12345 うっかり eth0 経由でつなぎにいくと、自身のパケットをキャプチャしてしまい、 怒涛のごとく出力される恐怖に苛まれます。ご注意ください。 あ、xinetd の場合は、/etc/services に以下を登録してから、 tcpdump 12345/tcp 以下の内容の /etc/xinetd.d/tcpdump というファイルを作成し、
# default: off
# description: tcpdump
service tcpdump
{
disable = yes
socket_type = stream
wait = no
user = root
server = /usr/sbin/tcpdump
server_args = -l
}
chkconfig コマンドで有効にする必要があります。 # chkconfig tcpdump on
あと、ちょっと邪道ですが、consolehelper でも、
パスワードなしで起動することができます。 #%PAM-1.0 auth sufficient pam_rootok.so auth sufficient pam_timestamp.so auth required pam_stack.so service=system-auth session required pam_permit.so session optional pam_xauth.so session optional pam_timestamp.so account required pam_permit.so この場合、4行目の auth required のところを、 auth required pam_permit.so
などパスワード不要のモノに差し替えれば、聞かれなくなります。
…わたしが思いついたのは、以上です。 今週の宿題今週の宿題は、 IP マスカレードを使用したときの、お試し LAN 上のパケットと、社内 LAN 上のパケットを、見比べてみましょう。 です。
書籍などを斜め読めば、IP マスカレードの仕組みはなんとなくわかると思いますが、
tcpdump などを用いて、実際に確かめてみましょう、ということです。 あとがきで、消火器のことをいろいろ教えてもらいましたので、ご紹介します。
最後のは、住人のひとが質問してわかったことです。 まさに、主婦の視点って感じですね。わたしでは、そういう疑問は思いつきません。 消火器を使う機会は、一生に一度あるかないかくらいじゃないか、 という気もしますが、もしものための知識は、必要ではないかと思いました。 さて、来週は三連休。専用サーバへの移行など、 いろいろやるべきことがありますので、個人的な理由で申し訳ありませんが、 来週は、おやすみをいただきたいと思います。
今週も、ここまで読んでいただき、ありがとうございました。
「いますぐ実践! Linux システム管理」の解除は、以下からできます。
バックナンバーは、こちらにほぼ全部そろっています。
「栗日記」−いつの間にか検索で1位じゃなくなってるけどまあいいや。 |
▼ トップ ▼ プロフィール ▼ リンク
▼ 作ってみました
▼ せんでん
▼ 最近読んだ本 [X]
「センネン画報」 今日 マチ子「粟津潔 デザインする言葉」 粟津潔 「Binary Hacks」 高林 哲,鵜飼 文敏,佐藤 祐介,浜地 慎一郎,首藤 一幸 「Make: Volume01」 オライリー・ジャパン 「セーラが町にやってきた」 清野 由実 「手紙屋」 喜多川 泰 「Linuxカーネル2.6解読室」 高橋 浩和,小田 逸郎,山幡 為佐久 「人蕩し術」 無能 唱元 「子育てハッピーアドバイス2」 明橋 大二, 太田 知子 「ラッセル幸福論」 B. Russell 「それでも人生にイエスと言う」 Viktor Emil Frankl 「子育てハッピーアドバイス」 明橋 大二, 太田 知子 「考具」 加藤 昌治 「北欧デザイン<3>」 渡部 千春 「北斎の謎を解く」 諏訪 春雄 「体感美術館」 平野 暁臣 「チベット永遠の書」 Theodore Illion 「リナックスの革命」 Pekka Himanen 「人月の神話」 Frederick Phillips,Jr. Brooks 「ヤバい経済学」 Steven D. Levitt, Stephen J. Dubner 「小布施ッション<2001-2002>」 セーラ・マリ カミングス 「アンパンマン伝説」 やなせ たかし 「夢をかなえるゾウ」 水野 敬也 「ゲーム開発者のためのAI入門」 David M. Bourg, Glenn Seemann 「北欧デザイン<2>」 渡部 千春 「北欧デザイン<1>」 渡部 千春 「ヒューマン2.0」 渡辺 千賀 「中国・ロシア同盟がアメリカを滅ぼす日」 北野 幸伯 「超ロング・セラー 絶滅寸前商品」 湯浅 豊彦 「The BUG(ザ・バグ)」 すずき ひろのぶ,かとう みつあき 「デザインのデザイン」 原 研哉 「マキアヴェッリ語録」 塩野 七生 「ハンバーガーを待つ3分間の値段」 斎藤 由多加 「星の旅人-スペイン「奥の細道」-」 黛 まどか 「食品の裏側」 安部 司 「On Lisp」 Paul Graham 「ぼくが医者をやめた理由 つづき」 永井 明 「あなたならどうする?」 Jack Nikolaschka 「セキュアプログラミング−失敗から学ぶ設計・実装・運用・管理」 Mark G. Graff, Kenneth R. van Wyk 「「左利き」は天才?−利き手をめぐる脳と進化の謎」 David Wolman 「自分の中に毒を持て」 岡本 太郎 「アトピーの薬を減らす本」 田中 貴子 「岡本太郎「明日の神話」修復960日間の記録」 吉村 絵美留 「X51.ORG THE ODYSSEY」 佐藤 健寿 「アレルギーっ子の暮らし応援BOOK」 佐藤 のり子 「沖縄文化論」 岡本 太郎 「「伝説の社員」になれ!」 土井 英司 「コンピュータの構成と設計(上)」 Patterson & Hennessy 「カラスのジョンソン」 明川 哲也 「ドリルを売るには穴を売れ」 佐藤 義典 「頭がよくなる照明術」 結城 未来 「クロフォードのインタラクティブデザイン論」 Chris Crawford 「いじめの根を絶ち子どもを守るガイド」 Barbara Coloroso 「非常識のすすめ―逆発想の仏教論」 ひろさちや 「Linuxアドバンストネットワーク構築ガイド - HAサーバ構築編」 デージーネット 「イノベーションの達人!」 Tom Kelly, Jonathan Littman 「クリエーター50人が語る創造の原点」 小原 啓渡 「欺術 - 史上最強のハッカーが明かす禁断の技法」 Kevin Mitnick 「楽しい気象観察図鑑」 武田 康男 「入門 Ajax」 高橋 登史朗 「リリカルな自画像」 岡本 太郎 「やぎの目ゴールデンベスト」 林 雄司 「初めてのPython 第2版」 Mark Lutz,David Ascher 「鼻兎」 小林 賢太郎 「なぜ、これがアートなの?」 Amelia Arenas 「芸術起業論」 村上 隆 「まほう色の瞳」 Enrique Barrios 「ラーメンズつくるひとデコ」 ラーメンズ 「R25 つきぬけた男たち」 R25編集部 「美の呪力」 岡本 太郎 「しろのあお」 上大岡 トメ 「ザ・ゴール」 Eliyahu M. Goldratt 「ハッカーと画家」 Paul Graham 「岡本太郎に乾杯」 岡本 敏子 「Fedore Core Expert」 Software Design 「誰も知らない男」 ブルース・バートン 「子どもが育つ魔法の言葉」 ドロシー・ロー・ノルト 「国家の罠」 佐藤 優 「夜回り先生」 水谷 修 「やぎの目絵日記」 林 雄司 「7つの習慣」 スティーブン・R. コヴィー 「まろ、ん?−大掴源氏物語」 小泉 吉宏 「ザ・サーチ グーグルが世界を変えた」 ジョン・バッテル 「ポストモダン・マーケティング」 スティーブン ブラウン 「機動戦士ガンダムさん」 大和田 秀樹 「小エロのひみつ - Webやぎの目研究発表」 林 雄司 「これ、誰がデザインしたの?」 渡部千春 「60分間・企業ダントツ化プロジェクト」 神田 昌典 「ガルシアへの手紙」 エルバート ハバード 「人生は素晴らしいものだ」 オグ・マンディーノ 「ザ・マインドマップ」 トニー・ブザン,バリー・ブザン 「ワインバーグのシステム思考法」 G.M.ワインバーグ 「渋谷ではたらく社長の告白」 藤田 晋 「渋井真帆の日経新聞読みこなし隊」 渋井 真帆 「コラム息切れ」 小野 法師丸 「早朝起業」 松山 真之介 「変な人が書いた驚くほどツイてる話」 斎藤 一人 「35歳から仕事で大切にしたいこと」 村井 勉 「金融広告を読め」 吉本 佳生 「発想する会社!」 トム・ケリー,ジョナサン・リットマン 「エハイク」 吉田 戦車 「人生の旋律」 神田 昌典 「仕事の思想」 田坂 広志 「CPUの創りかた」 渡波 郁 「非常識な成功法則」 神田 昌典 …これ以前は記録してません…
▼ 気に入ってる本
| ||||||||||||||||||||||||||||||||||||||||