末尾へ

Linux で家庭内 LAN をやってみました3


Since 4/22'98

To MENU ペンギン君

1.サーバー環境

2.ADSL接続設定

3.二つのダイナミックDNS(追加:2003.3)

4.PPP接続設定変更(追加:2003.5)

(2001.7.7)

1.サーバー環境

フレッツADSLとなった現在も、LAN環境は Debian GNU/Linux + ISDN接続の時と変わらず

等々と各サーバーがフル稼働しています。

 LAN-インターネット環境を図解します。 これまでの ISDN 環境から PPPoEモデムによるフレッツADSL に変更されています。
                                        PPPoEで接続
           +---------------------------+     +-----------------------+
           | Host1(Server)192.168.0.11 |-----| NTT ADSL (PPPoEモデム)|----→Internet
           | Gateway2000 P5-133        |     +-----------------------+
           | Celeron 500MHz            |    +---------------+
        +--| Debian GNU/Linux (Server) |====| ALPS MD-4000J |
        |  +---------------------------+    +---------------+
        |  +---------------------------+    (プリンター)
        |  | Host3        192.168.0.13 |
        |+-| Gateway GP6-450           |    +---------------+
        || | Celeron 1.1GHz            |====| ALPS MD-5000  |
   HUB  || | Windows2000 / Debian      |    +---------------+
  +-----++ +---------------------------+    (プリンター)
  |Corega|
  |FSW-8L|
  +---++++
      |||| +---------------------------+
      |||| | Host2        192.168.0.12 |
      |||+-| Skeleton                  |
      |||  | PentiumIII 550MHz         |
      |||  | Windows98                 |
      |||  +---------------------------+
      |||  +---------------------------+
      |||  | Mac1         192.168.0.14 |
      ||+--| iMac                      |
      ||   | PowerPC G3 500MHz         |
      ||   | MacOS J1-9.1              |
      ||   +---------------------------+
      ||   +---------------------------+
      ||   | Mac2                 DHCP |
      |+---| Performa 5260             |
      |    | PowerPC 100MHz            |
      |    | MaOS 8.6                  |
      |    +---------------------------+
      |    +---------------------------+
      |    | Host6        192.168.0.15 |
      +----| PC-9801 DS2               |
           | Cx486SRx2 16x2MHz         |
           | FreeBSD 2.2.2 RELEASE     |
           +---------------------------+  (2003.3現在)

Win2000( Host3 ) に接続した MD-5000(プリンター)は、Win98( Host2 ) としか共有できないが、Linux( Host1 ) に接続した MD-4000J は、Samba と Netatalk, Ghostscript により、全てのパソコンで共有しています。

ISDN ではルータとなるパソコンに LANカードが1枚あればインターネットに接続できるのですが、ADSL ではモデムとルータを LANカードで接続するために、LAN側のカードの他にもう1枚の LANカードが必要になります。
ISDN の時代から余っていた 10BASE-T のカードを利用することもなく取り付けていましたが、ADSL になった今その LANカードがやっと有効に活用されることになったのです。

2.ADSL接続設定

ADSLモデムとパソコンを接続するには PPPoE(PPPオーバー・イーサネット)というドライバーが必要です。
フレッツADSL を申し込むと NTT(東/西)から Windows版や Macintosh版の他に Linux版のドライバーの入った CD-ROM が送られて来ます。
この CD-ROM を使う他に選択肢は Debianパッケージによる方法、Roaring Penguin Software (PPPoE) からソースドライバーを導入する方法がありました。
下調べ程度に各README には目を通したのですが、どれを見てもそれぞれ設定の方法が違っているようでした。
先ずはインターネット接続に成功したのは Debianパッケージの PPP と PPPoE 。
ともかく繋がった時の設定内容がどの README とも異なるもので、結果よければと素直に納得できない状況で接続していました。
(ともかく繋がっていないとDebianパッケージの更新もできないわけで、仕方ないです)
どうも Debian の Slink から Potato に移行した時の古い設定やら PPPxP 以前の PPP の設定やらが複雑に絡んでいたようです。

私としては TkPPxP のように GUI でかつ Linux の起動中に接続のオン・オフが出来るようにしたいのに Linux 起動と同時に接続されてしまう。
オフには出来るものの Linux を再起動しないと再接続ができないという状況でした。(単に方法を知らないだけかもですが)
しかも、接続状況を確認するには、ifconfig を打つとか、全てコマンドによることになる。

この状況から抜けたのが Roaring Penguin Software (PPPoE) からソースドライバーを導入する方法でした。
では、なぜ初めから使わなかったかというと、以前ダウンロードした rp-pppoe-3.0.ta.gz が tar xvzf で展開できなかったのです。
で、久々にそのページを覗いてみると、 rp-pppoe-3.1.ta.gz とバージョンが変わっていました。なんと、このバージョンでは難なく展開できたのです。
ついでに、PPP のソースもダウンロードしておきました。

先ずは、Debian パッケージの PPP と PPPoE をアンインストールします。
これを実行すると、外部のサーバーとは接続できないわけで、インストールが成功するまで、元に戻すことも出来ません。
しかし、Debian パッケージのままでいたら、インターネットに接続は出来るけどなんだか分からないという不満がありました。

というわけで、rp-pppoe-3.1 で接続できなければ、Debian パッケージに戻すわけにも行かないという背水の陣に追い込まれた状況であります。

rp-pppoe-3.1 のインストールですが、先ずは ppp を適当なディレクトリで

と、ごく普通の手順でインストールする。次に、pppoe のインストール。
同じく適当なディレクトリで

この時、/etc/network/interfaces に eth1 と ppp0 の設定を追加しておきます。
この設定に関しては、
島田さんのページを参考にしました。この設定後、# ifup eth1 で eth1 を有効にしておきます。
ただし、いろいろ試した結果 ppp0 の設定に関しては、追加しないというか、削除しておいてもなぜかちゃんと動いていました。

ここで、./configure と行きそうですが、REAME を読むと、root and type:
./go
とあります。If you want the GUI wrapper, type:
./go-gui
ともあります。私は GUI 環境を選びたいので
(ちなみに、行先頭の$ はユーザーモード、先頭の# はルート権限で、$ su で一時的に root になります。)
このコマンドでコンパイルからインストールまで一気に進んで、うまくいけば、GUI の設定画面に入ります。
GUI の設定画面第一タブは"Basic"として、Username, Network, Password を入力します。
第二タブ"NIC and DNS"で Ethernet Interface, DNS Setup があります。
第三タブ"Options"で Allow use by non-root users のラジオボタンや Firewalling の選択肢があります。
Username には、UserID を、Network には、wakwak.com などプロバイダーサーバー名を、Ethernet Interface には、eth1 を入れます。
この eth1 は、予め /etc/network/interfaces で設定しておかないと選択肢に現れません。

ここまではいいのですが、当初、DNS Setup の意味がよく分からず、選択肢 'From Server' 'Specify' 'Do not Adjust' の内で、'Specify'を選んで、プロバイダのプライマリ、セカンダリのDNSサーバーを書き込んだのですが、後でとんでもないことに気が付きました。

ともかく、この後、GUIのコントロール画面から Start ボタンをクリックすると、当たり前といえば当たり前ですが、すんなりとインターネットに繋がりました。GUI なので、通信状況もグラフでリアルタイムに表示されています。

後で、気が付いたこと

  1. ローカルで FTP接続が出来なくなってしまったことで気が付いたのですが、/etc/resolv.conf が書き換えられてしまっていたこと。これは、先の DNS Setup で、'Specify' を選んだことが原因でした。
    /etc/resolv.conf を書き戻しても、接続のたびに書き換えられてしまいます。既に、LAN で DNSサーバーが稼動しているときには、'Do not Adjust' を選択すべきです。スタンドアロンでは、'From Server' でもかまわないかも。
  2. Firewalling で、'Masquerading' を選択すると、マスカレードに関しては既に設定してあったのですが、それとは無関係にマスカレードとファイアウォールが設定されます。'Stand-Alone' を選択すると、ファイアウォールだけが設定されます。予め自分で設定してあった ipchains の設定を有効にしておきたい場合には、'None' を選んでおけばいいのでしょう。
    私は 'Masquerading' を選択しました。
  3. このファイアウォールの設定は、かなり厳重で「Shields Up!で自分のインターネット上での安全度チェックをしてみよう」というShields UP!でチェックすると、検査する全てのポートで Stealth となります。このステルスというのは、LAN内では開いているポートも外部からは開いているのか閉じているのか、そもそもパソコンの電源が入っているのかどうかも分からない状態というようなことが、そのページに書かれています。
    このままで問題なのは、せっかく公開している Webサーバーも見えない状態になってしまっているということになります。
  4. この設定は /etc/ppp/firewall-masq にあるのですが、そのスクリプトによって全てのポートが DENY される前に、
    ipchains -A input -l -i $EXTIF -d $ANY www -p tcp -j ACCEPT
    を挿入することで、Webサーバーの Port80 だけ開くようにしておきました。スクリプトの中で、EXTIF=ppp+, ANY=0.0.0.0/0 となっています。

ファイアウォールの設定例はこちらに。

この後、rp-pppoe-3.1 を ./go により、コマンドタイプもインストールしてみました。こちらもインストール完了とともに、設定モードに入ります。ここで設定した内容も /etc/ppp 以下に書き込まれ ./go-gui によって設定されたファイルは別名でバックアップされます。
こちらをインストールした場合、OS の再起動時に自動接続されます。adsl-stop で切断、そして adsl-start で再接続されます。

Webサーバーを稼動するにあたり、いちいち IPアドレスを打ち込むのでは誰も来てくれません。しかも、ダイアルアップのため接続のたびにその IPアドレスは変わってしまいます。
そこで、以前より http://www.dyn.to/ により、ダイナミックDNS という手法で、グローバルなドメイン名を付けています。このドメイン名は、IPアドレスが変わっても同じ名前で、我が Webサーバーにアクセスできることになります。
そのドメイン名と変化する IPアドレスを関連つけるため、IPアドレスの変更があったら、DNSサーバーのテーブルを更新する作業が必要になります。この更新作業を自動化するために、先にも紹介した 島田さんのページを参考にしました。
IPアドレスをチェックして IPアドレスが変わっていたら、http://www.dyn.to/ に接続して、DNSテーブルを更新するというスクリプトで、cron を使って定期的にチェックするというものです。
(こうした自動化スクリプトを利用して常時接続させるには GUI による操作は特に必要ではなく、結局のところコマンドタイプのままで利用しています。)

その中で紹介されている方法で起きた問題。

自動化するスクリプト自体は問題ないのですが、http://www.dyn.to/ で紹介されている dyndyn というテーブル更新のためのスクリプトが、ターミナル上で実行する分にはちゃんと働いてくれるのに、cron で実行されるとエラーになってしまうというものです。
島田さんになぜでしょうと相談したところ、更新スクリプトのバックで働いている Lynx のバグだということでした。そのまま引用させていただくと、
> これは、Lynx が、コンソールを持たないプロセスから実行されると発生するバグです。
> 以下にパッチがあります。
> http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=78948&repeatmerged=yes
> Debian GNU/Linux をお使いでしたら、apt-get source lynx-ja でソース・パッ
>ケージをゲットしてバッチを当てて、dpkg-buildpackage -uc -us -rfakeroot
>してパッケージを作ってインストールします。
> それで dselect などで lynx-ja をホールドしておきます。
せっかく、親切で適切なアドバイスをいただいたのですが、自信がなかったので、他にも方法はないかと、例えば、Lynx ではなく、W3M で代用できないかとか、調べてみましたが、-dump というページを stdout に出力するオプションはあるものの、ID とパスワードをスクリプトから入力する方法が分からず、これも断念でした。
そういえば、もうひとつ http://www.dyn.to/ のページには、dynto.pl という Perlで書かれたスクリプトがありました。これは、ブラウザに依存しないのでうまく行きそうです。
これもひとつ問題がありました。
Perl はほとんどのディストリビューションに標準で備わっています。ところが、Perlの他に LWP というモジュールが必要とのこと。FreeBSD であれば、ports の /usr/ports/www/p5-libwww がそのページで紹介がありましたが、Linux の場合は何なんだろうということで戸惑ったもののやっと分かったことは、Debian パッケージでは、libwww-perl を導入すればよいと分かったことでやっと解決しました。

3.二つのダイナミックDNS(追加:2003.3)

時は移ってもう1年以上たっているんですね。我がサーバーの環境も変わって無料の日本語ダイナミックDNSサイト:http://ddo.jp にも登録することにしました。
先の pppcontinue.sh も書き換える必要があります。
ddo.jp のサイトに
wget -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード '
で更新できるとありました。
先ずは、/usr/local/bin/ddo-update を作って次のスクリプトを書き込んでみました。

#!/bin/sh
# 2003/01/23

wget -O - 'http://ddo.jp/dnsupdate.php?dn=ドメイン&pw=パスワード '
これだけ書き込んで実行属性をつけておきます。"ドメイン"は取得したドメインの hayakawa.ddo.jp の場合 hayakawa です。
その上で、もともと走らせていた pppcontinue.sh を書き換えます。
〜前略〜
# IP アドレスを格納しておくためのファイル。
IPFILE=/var/local/run/$ppp.ip
〜中略〜
if [ $RESULT -eq 0 ]; then
  # 接続状態にある
  if [ -f $IPFILE ]; then
    OLD_IP=`cat $IPFILE`
    if [ $CURRENT_IP != $OLD_IP ]; then
      echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
      echo "Different IP address has been given." >> $LOG
      echo "Try to update the DNS." >> $LOG
      /usr/local/sbin/dynto.pl >> $LOG 2>&1              ### 注目!
      if [ $? -eq 0 ]; then
        echo $CURRENT_IP > $IPFILE
        echo "Old IP address was [$OLD_IP]." >> $LOG
        echo "Wrote new IP address [$CURRENT_IP] into $IPFILE." >> $LOG
      fi
      echo "----------------------------" >> $LOG
    fi
  else
    echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
    echo "$IPFILE does not exist." >> $LOG
    echo "Try to update the DNS." >> $LOG
    /usr/local/sbin/dynto.pl >> $LOG 2>&1              ### 注目!
    if [ $? -eq 0 ]; then
      echo $CURRENT_IP > $IPFILE
      echo "Wrote new IP address [$CURRENT_IP] into $IPFILE." >> $LOG
    fi
  echo "----------------------------" >> $LOG
  fi
fi
このスクリプトに /usr/local/sbin/ddo-update >> $LOG 2>&1
を付け加えてみました。
      /usr/local/sbin/dynto.pl >> $LOG 2>&1
      /usr/local/sbin/ddo-update >> $LOG 2>&1    # 追加
のように、2ヶ所ある /usr/local/sbin/dynto.pl >> $LOG 2>&1 の行の下に書き加えるだけで、一見うまく行ったような気がしたのですが、これだとどちらかの更新に失敗すると失敗した方のIPアドレスが更新されないまま残ってしまいます。
そのため IPFILE を2つ用意して
〜前略〜
# IP アドレスを格納しておくためのファイル。
IPFILE=/var/local/run/$ppp.ip
IPFILE2=/var/local/run/$ppp.ip2                # 追加
〜中略〜
if [ $RESULT -eq 0 ]; then
  # 接続状態にある
  if [ -f $IPFILE ]; then
    OLD_IP=`cat $IPFILE`
    if [ $CURRENT_IP != $OLD_IP ]; then
      echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
      echo "Different IP address has been given." >> $LOG
      echo "Try to update the DNS." >> $LOG
      /usr/local/sbin/ddo-update >> $LOG 2>&1
      if [ $? -eq 0 ]; then
        echo $CURRENT_IP > $IPFILE
        echo "Old IP address was [$OLD_IP]." >> $LOG
        echo "Wrote new IP address [$CURRENT_IP] into $IPFILE." >> $LOG
      fi
      echo "----------------------------" >> $LOG
    fi
  else
    echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
    echo "$IPFILE does not exist." >> $LOG
    echo "Try to update the DNS." >> $LOG
    /usr/local/sbin/ddo-update >> $LOG 2>&1
    if [ $? -eq 0 ]; then
      echo $CURRENT_IP > $IPFILE
      echo "Wrote new IP address [$CURRENT_IP] into $IPFILE." >> $LOG
    fi
  echo "----------------------------" >> $LOG
  fi
fi
# 以下 IPFILE2 用に追加修正
if [ $RESULT -eq 0 ]; then
  # 接続状態にある
  if [ -f $IPFILE2 ]; then
    OLD_IP=`cat $IPFILE2`
    if [ $CURRENT_IP != $OLD_IP ]; then
      echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
      echo "Different IP address has been given." >> $LOG
      echo "Try to update the DNS." >> $LOG
      /usr/local/sbin/dynto.pl >> $LOG 2>&1
      if [ $? -eq 0 ]; then
        echo $CURRENT_IP > $IPFILE2
        echo "Old IP address was [$OLD_IP]." >> $LOG
        echo "Wrote new IP address [$CURRENT_IP] into $IPFILE2." >> $LOG
      fi
      echo "----------------------------" >> $LOG
    fi
  else
    echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
    echo "$IPFILE does not exist." >> $LOG
    echo "Try to update the DNS." >> $LOG
    /usr/local/sbin/dynto.pl >> $LOG 2>&1
    if [ $? -eq 0 ]; then
      echo $CURRENT_IP > $IPFILE2
      echo "Wrote new IP address [$CURRENT_IP] into $IPFILE2." >> $LOG
    fi
  echo "----------------------------" >> $LOG
  fi
fi
このように2段構えのスクリプトとしてみました。

ddo.jp にはもうひとつの問題があります。
無料サービスの ddo.jp−DNS サービスでは、1ヶ月以上更新がないと、登録を取り消されてしまいます。
確実に1ヶ月以内にIPアドレスが更新されてしまえば問題ないのですが、そんな保証はありません。
そのためのスクリプトを一部 pppcontinue.sh を流用して dddcontinue.sh という名前で作ってみました。
pppcontinue.sh では、IPアドレスが変わっていたら更新するというものですが、dddcontinue.sh はその逆の働きをします。
cron に設定した期間毎にIPアドレスを確認しますが、その時に接続状態になければ何もしません。IPアドレスが変わっていれば何もしません。このような場合は、pppcontinue.sh に任せます。
確認したときに、接続状態にあり、IPアドレスに変更がなかった場合にダイナミックDNSに更新に行きます。
#! /bin/bash

export PATH=/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/sbin:/usr/local/bin

# ログ・ファイルを設定。
LOG=/var/local/log/pppcontinue.log
# ログに記述する日付のフォーマット。
DATE_FMT="+%Y-%m-%d %a %T (%Z)"
# ADSL のインターフェースを設定。
# ETH_PPP=eth1
PPP=ppp0

# IP アドレスを格納しておくためのファイル。
IPFILE=/var/local/run/$PPP.ip
# IPFILE2=/var/local/run/$PPP.ip2   # ひとつを調べるだけで用は足せそうなのでこの行は不要でしょう

# PPP の IP アドレスを調べる。
CURRENT_IP=`/usr/local/sbin/getipaddress.sh $PPP 2> /dev/null`
RESULT=$?

if [ $RESULT -eq 0 ]; then
	# 接続状態にある
	if [ -f $IPFILE ]; then
		OLD_IP=`cat $IPFILE`
		if [ $CURRENT_IP != $OLD_IP ]; then
			echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
			echo "Different IP address has been given." >> $LOG
			echo "Do nothing." >> $LOG
		else
        		echo -n "[`LC_ALL=C date "$DATE_FMT"`]: " >> $LOG
	        	echo "Same IP address is maintained." >> $LOG
			echo "Try to update the DNS." >> $LOG
			/usr/local/bin/ddo-update >> $LOG 2>&1
			if [ $? -eq 0 ]; then
				echo "It Succeeded." >> $LOG
			fi
			/usr/local/bin/dynto.pl >> $LOG 2>&1
			if [ $? -eq 0 ]; then
				echo "It Succeeded." >> $LOG
			fi
		fi
		echo "----------------------------" >> $LOG
	fi
fi
/etc/crontab は次のような一行を追加しておきました。一週間に一度、土曜の18時11分に実行する。
18 11   * * 6   root    /usr/local/sbin/dddcontinue.sh

4.PPP接続設定変更(追加:2003.5)

Debian を POTATO から Woody に変更し、カーネルも 2.2系から 2.4系にグレードアップしました。カーネルは kernel 2.2.22 から kernel 2.4.18へ。kernel 2.4系は iptables が標準となっています。
従前の rp-pppoe は、./go により比較的簡単に PPP接続が実現しますが、ファイアウォールは ipchains が前提となっています。
この機会に ipchains から iptables に移行して、PPP接続環境も Debian パッケージの ppp および pppoe に変更することにしました。

Debian パッケージの利用ですが、先ず、kernel 2.4.18 のソースから ppp や pppoe その他の モジュールを有効にして再構築してから Debian パッケージの ppp および pppoe をインストールしました。
iptables については、TLEC(iptables の設定方法)を参考にしました。

rp-pppoe では adls-start で回線接続されますが、Debian パッケージの場合、前出の島田さんの例では、/etc/network/interfaces に

iface ppp0 inet ppp
   provider dsl-provider
の2行を追加して ifup ppp0 , ifdown ppp0 によって、回線を接続、切断するようにしていますが、もうひとつの方法として、 pon , poff による方法があります。
Debian では、システムブート時に /etc/ppp/ppp_on_boot があれば、それを実行し回線接続します。ブート時に接続しないようにするには、/etc/ppp/ppp_on_boot をリネームするようにとどこかに記述がありました。
pon は、この /etc/ppp/ppp_on_boot を呼び出して ppp を初期化します。
当初、ifconfig コマンドを実行すると、ppp0 に加えて ppp1 が表示されてし、なぜ?って思っていたのですが、どうやら、/etc/network/interfaces から ppp0 の記述を削除するか、/etc/ppp/ppp_on_boot を無効にして、いづれか一方を有効にしないとよろしくなかったようです。

/etc/network/interfaces に ppp0 の記述をして、/etc/ppp/ppp_on_boot をリネームして無効にすると、システムの起動によって ppp0 が有効にならないので、前述の pppcontinue.sh スクリプトによる起動を待つことになります。切断、接続には ifdown ppp0 , ifup ppp0 を使います。

/etc/network/interfaces から ppp0 の記述を削除して、/etc/ppp/ppp_on_boot を有効にするとシステムの起動と同時に ppp0 が有効になり回線接続されます。その後の切断、接続には poff 、 pon を使います。
/usr/bin/pon はスクリプトで、次のような記述があります。

if [ -z "$1" -a -x /etc/ppp/ppp_on_boot ]; then
  exec /etc/ppp/ppp_on_boot
fi
/etc/ppp/ppp_on_boot があれば、それを実行します。/etc/ppp/ppp_on_boot は/etc/ppp/ppp_on_boot.dsl のシンボリックリンクになっていて、/etc/ppp/ppp_on_boot.dsl に記述された /sbin/ifconfig eth1 up と /usr/sbin/pppd call dsl-provider が実行されます。
前述の島田さんのスクリプト pppcontinue.sh にある次の行は
	# 切断状態にある
	・・・省略・・・
	ifdown $PPP >> $LOG 2>&1
	echo "Done." >> $LOG
	echo "Down $ETH_PPP." >> $LOG
	ifdown $ETH_PPP >> $LOG 2>&1
	echo "Done." >> $LOG
	sleep 1
	echo "Up $ETH_PPP." >> $LOG
	ifup $ETH_PPP >> $LOG 2>&1
	echo "Done." >> $LOG
	echo "Up $PPP." >> $LOG
	ifup $PPP >> $LOG 2>&1
	echo "Done." >> $LOG
次のように変更しました。
	# 切断状態にある
	・・・省略・・・
	echo "Up $PPP." >> $LOG
	pon >> $LOG 2>&1
	echo "Done." >> $LOG
ただし、この部分はまだ試行錯誤中です。

なお、TLEC(iptables の設定方法) を参考に、/etc/network/interfaces には、eth1 の設定に続けて、

    pre-up /etc/network/iptables.up
    up /etc/network/flets.up
    post-down /etc/network/iptables.down
    down /etc/network/flets.down
を記述しておけば、eth1 の有効化に伴い、pre-up 、up に続くスクリプトが実行され、スクリプトに記述された iptables の設定が有効になります。
次に、/etc/ppp/ppp_on_boot による ppp0 の接続が完了した時点で、/etc/ppp/ip-up に追加した iptables に関するスクリプトが実行され、これも有効になります。

iptables の設定については、別途、こちらに書く予定です。

(なお、既記載分も予告なく訂正、削除、追加する場合があります。)


Linux で家庭内 LAN をやってみました2

Linux で家庭内 LAN をやってみました

FreeBSD で家庭内 LAN をやってみました

Router で家庭内 LAN をやってみました

先頭へ

To MENU

メインメニューへ