Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
[go: Go Back, main page]

NAT(IP Masquerade) router for HOME Local Area Network(LAN) (in Japanese)

ip filter を用いた FreeBSD での NAT(IP Masquerade) について

--プライベートな家庭内 LAN を CATV を使って Internet--
[your access is [Cnt](since 1997/June/16)]
( last updated 1998/August/6 )
目次

What's new!!

August 6, 1998

March 28, 1998

Oct 3, 1997

Aug 7, 1997

July 20, 1997

June 25, 1997

June 21, 1997

June 11, 1997

January 13, 1997

January 10, 1997

December 30, 1996

December 15, 1996



ネットワーク構成図

	CATV TownTV{dhcp server}
                   ^
                    \
                     \  UP-link 768Kbps (shared)
                      \ Down-link 30Mbps(shared)
                       \保安器---------------------- TV へ
                        \引き込み部
                         \
                      /-----------\
                      |Cable Modem|
                      \-----------/
                          |  10BASE-T      +-------------------+
                          +----------------|FreeBSD NAT        |
                                           |     router machine|
                                           +-------------------+    Ethercard
                                                   | [192.168.3.1]
                                                   |10BASE-T
                                                   |
                                               /-------\ Private Address
                                               |HUB | [192.168.3.0/24]
                                               \-------/
                                                 |    | 10BASE-T
                                                 |    |テーブルの下の情報コンセント(松下製)
                                                 |    |
                                                PC   client PCPC 


上記のように FreeBSD を用いた NAT(IP Masquerade) router を設置する事に より, CATV からは 1 台分しかもらいない IP アドレスを家庭内の複数台の Win95 や PC-UNIX で共有利用することが出来ました.
RFC などによると正しくは, NAT と IP Masquerade は別のものです. しか し, 本ページでは, NAT には IP masquerade を含まれていると解釈して, NAT という言葉を使っています. (IP masquerade までできる IP Filter の コマンド名が ipnat だったりするので^^;)

IP_Filter を install する

基本的に配布されている IP_Filter のパッケージ 内の INST.FreeBSD-2.2 の通りに作業すれば, IP Filter に対応したカーネ ル, if_ipl.o(modload 用モジュール), ipnat(ipnat の設定をするプログラム) をつくり出せます. 不明な点があればお手伝いできるかも知れません.
ちなみに, Full Tower の古い機械を「おうちるーた」に使っている関係で, 夜や自宅に私が居ない時は, 電源を切っています. 上記の「FreeBSD NAT」から リンクが張られている自宅の Web Page に繋がらない事もあります. 御了承くだ さい. (CATV の実験期間終了のため, 現在は Web Server を止めています)

NAT の設定


アプリケーション編

o telnet/rlogin 
  利用するマシンへの S/KEY の install

o ssh (通信内容を暗号化できる telnet/rlogin プログラム)
   Private LAN から ssh すると, ある理由でコネクションが切れる
そこで, 次のオプションで実行し, Private LAN 側は socket 番号を
静的にする. 

ssh -L 2000:2.2.2.2:2000 your_login_hostname

(この記述は誤っていました, 現在はこのような事をせずとも普通に
実現できています)

o APOP
	APOP 対応 popper (qpop 2.2)
	MH の APOP 対応にコンパイル(FreeBSD-2.2.0-RELEASE 以降の
	jp-mh は APOP がデフォルトで対応しています)

        詳しい説明

o ncftp2
	ncftp のサイト毎の設定で PASV モードで ftp するようにする
	$HOME/.ncftp/prefs 内の ftp-mode 1 とする必要があるかも

o in.coming 用に NAT router に anonymous ftp を設定

o RealAudio を プライベート LAN 内で使う
	View--> Preferences..

	[別 window]
	Transport
		Select network transports:
		-->Change Settings
	[別 window]
	Network Transport で
		Attempt to use TCP for all content. だけを
		選択

でうまくなりました. (結局 udp をあきらめて tcp で繋げる)

o StreamWorks (with FreeBSD-2.2 later elf-Linux emulator)

  デフォルトの設定で動きました

o tcp_wrappers を用いて, Router マシンには Internet から telnet/rlogin 
できないようにした. (ssh だけは許可)

/usr/local/etc/hosts.allow
ALL:    192.168.3.0/255.255.255.0
/usr/local/etc/hosts.deny
ALL EXCEPT sshd: ALL:       (/usr/bin/mail -s %d-%h sanpei) &

/etc/inetd.conf の設定
telnet  stream  tcp     nowait  root    /usr/local/libexec/tcpd telnetd
shell   stream  tcp     nowait  root    /usr/local/libexec/tcpd rshd
login   stream  tcp     nowait  root    /usr/local/libexec/tcpd rlogind


Future work

  • ssh などを使った secure rsh の実現
  • 1 枚の Floppy に NAT 機能 FreeBSD を入れて, HDD 不用な NAT router を 作る

    関連ページへのリンク

  • FreeBSD 用 NAT を実現するプログラム群
    Edited by Yoshiro MIHIRA
    <sanpei@yy.cs.keio.ac.jp>
    <sanpei@seaple.icc.ne.jp>
    <sanpei@jp.freebsd.org>