おのたく日記 YouTubeも始めました→
2003-12-20(Sat) [長年日記]
■ [UserModeLinux] uml_switch
「仮想OS「User Mode Linux」活用法 〜 技術解説からカーネルカスタマイズまで 〜」で知ったけど、SoftEtherの仮想HUBのローカル専用版みたいなuml_switchというのがあるのね。
これつかえば、VMWareのネットワーク設定のHostOnlyが実現できそう
■ [UserModeLinux] umlのカーネル再コンパイル
User Mode Linuxで、iptableを使いたくなったんだけど、Debian 3.0(WOODY)のUMLはiptableのモジュールが使えないので、UML Kernelの再コンパイルが必要になった。
手順
- カーネルソースを準備 /usr/src/uml以下に落としてHostカーネルとは変える。
- Project: User-mode Linux kernel port: File Listからuml patchを落として展開
# cd /usr/src/uml/linux;bzcat uml_patch.tar.bz|patch -p1 )
# make menuconfig ARCH=um
# make dep ARCH=um
# make linux ARCH=um
# make modules ARCH=um
# make modules_install ARCH=um
- モジュールは /lib/modules/2.4.XX_umX/にあるのでGuest File Systemにコピー
参考: 2. Compiling the kernel and modules
なるべくuml patchの設定からkernel configを変えずにカーネルコンパイルしたら、コンパイルまではうまくいった。
起動してみるとdevfsがonになっていてGuestのDebianが起動できなくて初め困った。起動オプションにdevfs=nomountをつけて回避した。
次に、困ったのはネットワークが使えい事。古いlinuxコマンドだと、ちゃんと起動できるDISKイメージを使ってもうまくいかない。uml patchをみたりlinuxコマンドイメージをstringsしたり、いろいろ調査した結果、Debian版ではuml_netが/usr/lib/uml_netと絶対パス指定なのに、オリジナルは"uml_net"となっていて実行PATHにuml_netが有ることを期待していた。
そこで、% export PATH=/usr/lib/uml:$PATH してから起動したらOK
教訓
- カーネルコンフィグは余り変えるべからず
- devfsは、Debian 3.0では使わず
- オリジナルumlは、uml_netが実行パスに必要
■ [iptables] iptableの設定のサンプル
LinuxサーバでFTP/SSHなどの通す設定サンプル LinuxとダイナミックDNSで作る自宅サーバ
なんて調べていたら、先月でた本に出ているらしい。
(2003/11) 2,200円https://www.amazon.co.jp/dp/487311151X
4章 ネットワーク
47. iptablesの秘訣
48. 任意のマシン宛てにTCPポート転送を行う
ここだけ読みたいけど、買ってみるか…
■ インターネット上の情報だと
iptables -A PREROUTING -t nat -d [外側IP] -p tcp --dport 443 -j DNAT --to [行き先IP]:443
で転送できるはず。
他の参考資料; Linux Technology ネットワークサーバ構築記 iptableの使い方 NATする・バーチャルサーバする
|
バケット転送ですが、default routeのルータマシンの場合DNATだけで良いけど、そうでない場合は、このiprouteを設定したにパケットが戻ってこないのでルーティングするか、マスカレードする必要がある。出所を自マシンとしてマスカレードするならば、<PRE><br>iptables -A POSTROUTING -t nat -p tcp --dport 443 -s ! ローカルネットワーク -j SNAT<br>--to-source 自マシンのアドレス<br> </PRE><br>とする。