「その6 FreeBSD詳細設定その1」
「その8 tips」
「表紙へ戻る」
「FreeBSDページの表紙へ戻る」
「会議室」
「日記」
ここでは、細かい設定を一気に行ないます。本当はここがいちばん面倒なのですが、設定ファイルさえあればすぐに終了する作業ばかりです。
以下の作業は、すべてスーパーユーザーで行なう必要があります。FreeBSDサーバーマシンのコンソールから、下線部分を入力してください。
%su Password: RootPass #
「その6」と同様に、以下のファイルを/usr/samba/へ転送してください。
- etc.tar.gz [/etc/*]
- usr.tar.gz [/usr/*]
これらのファイルをしかるべき場所に配置します。
#cp etc.tar.gz /etc #cp usr.tar.gz /usr #
これらのファイルのエンコーディングを解いて、使用可能なファイルを作ります。
#cd /etc #tar xvzf etc.tar.gz (表示メッセージ省略) #cd /usr #tar xvzf usr.tar.gz (表示メッセージ省略) #
ネームサーバー(DNS)とは、"provider-test.or.jp"を"aa.bb.cc.dd"に変換する(その逆も行なう)ための機構です。ここでは、名前の解決をインターネットプロバイダにすべて任せる設定を行ないます。
下線部分のように入力してください。
以上で、自動的にネームサーバー(DNS)用の索引が作られます。#cd /etc/namedb #sh make-localhost
「インターネットプロバイダの設定」で、「ゲートウェイIPアドレス」が"aa.bb.cc.ee"となっていますが、これは一般的には「接続してはじめて得られる値」です。ここで、実際に接続してこの値を得ておく必要があります。
まず、etc/ppp/ppp.confを編集して、モデム・ユーザー名・パスワードなどの「プロバイダに接続するための設定」を行なってください。
終わったら、下線部分のように入力してください。
"ppp"が"PPP"に変化したことが、ppp接続に成功したことを示しています。Alt+F2などで別のコンソールに移ってログインし、pingやtracerouteが行なえることを確認してみるのもいいでしょう。#ppp provider-test User Process PPP. Written by Toshiharu OHNO. Log level is 281 Warning: No password entry for this host in ppp.secret Warning: All manipulation is allowed by anyone in the world Using interface: tun0 Interactive mode Dial attempt 1 Phone: 123-4567 (ここでモデムが動作を始める) dial OK! login OK! ppp ON home> Packet mode. ppp ON home> (ここでプロバイダとの接続が行なわれる) PPP ON home>
この状態で、さらに下線部分のように入力してください。
この時点で、"aa.bb.cc.ee"が得られます。"aa.bb.cc.ff"はプロバイダより一時的にマシンに与えられた「世界でただ一つのIPアドレス」です。PPP ON home>show ipcp IPCP [Opend] his side: aa.bb.cc.ee, 2d0f01 my side: aa.bb.cc.ff, 2d0f00 connected: 159 secs, idle: 159 secs Defaults: My Address: 0.0.0.0/0 His Address: 0.0.0.0/0 Negotiation: 0.0.0.0/0 PPP ON home>
確認が終了したので、回線を切断してpppを終了します。さらに下線部分のように入力してください。
PPP ON home>close ppp ON home> ppp ON home> (ここで回線の切断が行なわれる) ppp ON home>quit #
この時点で詳細設定のほぼすべては終了していますが、実際に「何のためにどのような設定が行なわれたか」を順を解説しておきます。当ネットワークシステムを参考に独自のシステムを作る場合に、参考にしてください。
また、ここまでの設定ではインターネットプロバイダの設定が「仮のもの」でしかありません。マニュアルを読まれる方々のすべてで異なるパラメータ(*)であるため、必ず設定を行なってください。
(*) ppp接続の際のログイン名&パスワードなど、公には公開できないものもあります。
編集用エディタは、viやeeなどがこの時点でインストール済みです。viの使用経験がある方はviを、そうでない方はeeをお薦めします。
などとして起動してください。#vi /etc/sysconfig (viの場合) #ee /etc/sysconfig (eeの場合)
●usr.tar.gz usr/local/etc/rc.d/dhcps.sh DHCPサーバー自動起動シェルスクリプト usr/local/etc/rc.d/ppp.sh ppp自動起動シェルスクリプト usr/local/etc/lmhosts samba設定ファイル usr/local/etc/smb.conf samba設定ファイル
●etc.tar.gz etc/namedb/named.boot DNS設定ファイル etc/ppp/ppp.conf ppp接続設定ファイル etc/ppp/ppp.linkup pppルーティング設定ファイル etc/ppp/ppp.secret pppパスワード設定ファイル etc/dhcpdb.pool DHCP設定ファイル etc/dhcpdb.relay DHCPリレーエージェント設定ファイル etc/host.conf ホスト情報参照順設定ファイル etc/hosts ホスト情報設定ファイル etc/inetd.conf インターネットスーパーサーバー設定ファイル etc/resolv.conf ドメイン名解決先設定ファイル etc/services IPサービス設定ファイル etc/start_if.tun0 pppトンネルデバイス起動設定シェルスクリプト etc/sysconfig システム設定ファイル
etc/sysconfigは、FreeBSDシステム全般の設定を行なうための設定ファイルです。設定内容は非常に多岐にわたりますが、ここでは最低限必要な設定の説明を行ないます。
- hostname="home.gorry.local"
- ホスト名の設定です。「ネットワークインターフェースの設定」で設定した内容がここに反映されます。
- network_interfaces="lo0 ed1 tun0"
- ネットワークに接続しているハードウェアの設定です。"lo0"は「自分自身」を意味し、いかなる場合であっても必ず登録されます。"ed1"は「ネットワークインターフェースの設定」で設定した内容がここに反映されます。"tun0"はiij-pppで使用するトンネルデバイスです。
- ifconfig_lo0="inet 127.0.0.1"
- "lo0"デバイスの設定内容です。"127.0.0.1"を自分自身のIPアドレスとして割り当てます。
- ifconfig_ed1="inet 192.168.1.1 netmask 255.255.255.0"
- "ed1"デバイスの設定内容です。"192.168.1.1"をネットワークインターフェースのIPアドレスとして割り当てます。
- "tun"デバイスの設定内容です。"aa.bb.cc.ee"をトンネルデバイスのIPアドレスとして割り当てます。
etc/start_if.tun0は、トンネルデバイスの起動シェルスクリプトです。
- ifconfig tun0 inet 1.1.1.1 aa.bb.cc.ee
- "tun"デバイスの設定内容です。"aa.bb.cc.ee"をトンネルデバイスのIPアドレスとして割り当てます。
etc/inetd.confは、インターネットスーパーサーバーの設定ファイルです。
- netbios-ssn stream tcp nowait root /usr/local/sbin/smbd smbd
netbios-ns dgram udp wait root /usr/local/sbin/nmbd nmbd- NetBEUI接続デーモン「Samba」の設定です。
etc/servicesは、IPによるサービスの設定ファイルです。
- dhcps 67/udp # dhcp server
- DHCPサーバーの設定です。
- dhcpc 68/udp # dhcp client
- DHCPクライアントの設定です。
etc/host.confは、ホスト情報の参照順を決定する設定ファイルです。
- hosts
- etc/hostsを参照して、「ホスト名→IPアドレス」の解決を試みます。
- bind
- etc/resolv.confを参照し、ネームサーバー(DNS)を使用して「ホスト名→IPアドレス」の解決を試みます。
書いた順番のとおりに検索を行ないます。hosts、bindの順に書いた場合、まず内部での解決を試みて、解決しなければ外部(この場合はインターネットプロバイダ上にあるネームサーバー)での解決を試みます。
etc/hostsは、ホスト名をIPアドレスに変換するためのデータベースです。
- 127.0.0.1 localhost.gorry.local localhost
- "localhost.gorry.local"・"localhost"をIPアドレス"127.0.0.1"に変換します。
- 192.168.1.1 home.gorry.local home www.gorry.local
- "home.gorry.local"・"home"・"www.gorry.local"をIPアドレス"192.168.1.1"に変換します。
- 192.168.1.16 x68fake0.gorry.local x68fake0
- "x68fake0.gorry.local"・"x68fake0"をIPアドレス"192.168.1.16"に変換します。
- 192.168.1.20 ssdevg0.gorry.local ssdevg0
- "x68fake0.gorry.local"・"x68fake0"をIPアドレス"192.168.1.16"に変換します。
- 192.168.1.80 dhcp80.gorry.local dhcp80
- "dhcp80.gorry.local"・"dhcp80"をIPアドレス"192.168.1.80"に変換します。
etc/resolv.confは、ネームサーバー(DNS)を設定するファイルです。
- domain gorry.local
- ドメインの名前を"gorry.local"に設定します。
- nameserver 192.168.1.1
- ネームサーバー(DNS)のIPアドレスを"127.0.0.1"(内部)に設定します。
etc/dhcpdb.poolは、DHCPの設定ファイルです。
- global:!snmk=255.255.255.0:tmof=32400:
- homenetwork:tblc=global:rout=192.168.1.1:dnsv=192.168.1.1:dnsd="gorry.local":dht1=500:dht2=850:brda=192.168.1.255:
- DHCPサーバーの設定です。
- host0: :ipad=192.168.1.80:dfll=3600:maxl=7200:tblc=homenetwork:
- DHCPクライアントの設定です。
etc/dhcpdb.relayは、DHCPのリレーエージェント設定ファイルです。今回の設定では、このファイルは存在のみあればよく、内容は必要ありません。
etc/namedb/named.bootは、DNSの設定ファイルです。
- forwarder aa.bb.cc.dd
- 名前の解決をIPアドレス"aa.bb.cc.dd"(この場合はインターネットプロバイダ上にあるネームサーバー)に任せます。
etc/ppp/ppp.confは、iij-pppの設定ファイルです。大きく分けて3つのブロックに分かれています。
■デフォルト設定■インターネットプロバイダへの手動接続設定
- default:
- デフォルト設定ブロックの開始です。
- set device /dev/cuaa1
- モデムの接続先を/dev/cuaa1(シリアルポート2番目)とします。
- set speed 115200
- モデムとの通信速度を115200bpsとします。
- disable lqr
deny lqr- lqr動作を無効にします。
- set timeout 600
- 600秒データの入出力がない場合、回線を切断します。
- set dial "ABORT NUMBER\\sBLACKLISTED ABORT NO\\sCARRIER ABORT BUSY \"\" ATZ OK ATS7=55L0M1&M5&K1&H1&I0&R2B0X4 OK ATD\\T CONNECT"
- ダイヤルの際にモデムと交信するデータ列です。
- "ABORT NUMBER\\sBLACKLISTED" "NUMBER BLACKLISTED"という文字がモデムから送信されたら、ダイヤルが失敗したことを示す。
- "ABORT NO\\sCARRIER" "NO CARRIER"という文字がモデムから送信されたら、ダイヤルが失敗したことを示す。
- "ABORT BUSY" "NO BUSY"という文字がモデムから送信されたら、ダイヤルが失敗したことを示す。
- "\"\"" 以後はダイヤルのための交信データとなる。
- "ATZ OK" "ATZ"を送信し、"OK"が返るまで待つ。
- "ATS7=55L0M1&M5&K1&H1&I0&R2B0X4 OK" モデム初期化コマンドを送信し、"OK"が返るまで待つ。
- "ATD\\T CONNECT" ダイヤルコマンドを送信し、"CONNECT"が返るまで待つ。
■インターネットプロバイダへの自動(on demand)接続設定
- provider-test:
- "provider-test"という名前の手動接続設定ブロックの開始です。
- set ifaddr 0 0
- pppにより得るIPアドレスに制限を設けないこととします。
- deny chap
- chapでの接続を行ないません。
- accept pap
- papでの接続を行ないます。
- set phone 1234567
- ダイヤル先を"1234567"とします。
- set authname username-test
- ユーザー名を"username-test"とします。
- set authkey password-test
- パスワードを"password-test"とします。
- set openmode active
- 回線接続後、こちらからLCPパケットを送ってLCPモードを開始します。
- provider-test-auto:
- "provider-test-auto"という名前の自動接続設定ブロックの開始です。
- set ifaddr 0 aa.bb.cc.ee/0
- pppにより得るIPアドレスをaa.bb.cc.ee(プロバイダ側ゲートウェイIPアドレス)とします。
- add 0 255.255.255.0 aa.bb.cc.ee
- IPアドレスの探索経路(ルーティング)にaa.bb.cc.ee(プロバイダ側ゲートウェイIPアドレス)を追加します。
- set taddr 192.168.1.0/24
- こちら側の内部で使用しているIPアドレスを"192.168.1.??"とします。
- deny chap
- chapでの接続を行ないません。
- accept pap
- papでの接続を行ないます。
- set phone 1234567
- ダイヤル先を"1234567"とします。
- set authname username-test
- ユーザー名を"username-test"とします。
- set authkey password-test
- パスワードを"password-test"とします。
- set openmode active
- 回線接続後、こちらからLCPパケットを送ってLCPモードを開始します。
- set dfilter 0 permit 0/32 0/0 tcp
set dfilter 1 deny 0/0 0/0 tcp
set dfilter 2 deny udp src eq 520
set dfilter 3 permit 0/0 0/0
set afilter 0 deny udp src eq 520
set afilter 1 permit 0/0 0/0
- 自動接続のためのパケットで不要なダイヤルを行なわない、また勝手に切れないようにします。
- set ifilter 1 permit icmp
set ofilter 1 permit icmp
set ifilter 2 permit udp dst gt 33433
set ofilter 2 permit udp dst gt 33433- tracerouteとpingを許可します。
- set dfilter 4 deny icmp
set dfilter 5 permit 0/0 0/0- ICMPパケットによるダイヤルを行なわないようにします。
- set ifilter 3 deny tcp src eq 137
set ofilter 3 deny tcp dst eq 137
set ifilter 4 deny tcp src eq 138
set ofilter 4 deny tcp dst eq 138
set ifilter 5 deny tcp src eq 139
set ofilter 5 deny tcp dst eq 139
set ifilter 6 deny udp src eq 137
set ofilter 6 deny udp dst eq 137
set ifilter 7 deny udp src eq 138
set ofilter 7 deny udp dst eq 138
set ifilter 8 deny udp src eq 139
set ofilter 8 deny udp dst eq 139- NetBEUIによるパケットでダイヤルを行なわないようにします。
etc/ppp/ppp.linkupは、ppp接続開始時にルーティングを再設定するための設定ファイルです。大きく分けて3つのブロックに分かれています。
■インターネットプロバイダへの手動接続設定■インターネットプロバイダへの自動(on demand)接続設定
- provider-test:
- "provider-test"という名前の手動接続設定ブロックの開始です。
- delete ALL
- 既存の経路探索(ルーティング)情報をクリアします。
- add 0 0 HISADDR
- 経路探索(ルーティング)情報に「ppp接続相手先」を追加します。
■それ以外の接続設定
- provider-test-auto:
- "provider-test-auto"という名前の自動接続設定ブロックの開始です。
- delete ALL
- 既存の経路探索(ルーティング)情報をクリアします。
- add 0 0 HISADDR
- 経路探索(ルーティング)情報に「ppp接続相手先」を追加します。
- MYADDR:
- 「該当する接続設定ブロックがない時」に使用する接続設定ブロックの開始です。
- add 0 0 HISADDR
- 経路探索(ルーティング)情報に「ppp接続相手先」を追加します。
etc/ppp/ppp.secretは、ppp接続時にパスワードを設定するためのファイルです。ここでは、パスワードを必要としないため空のファイルを与えています。
usr/local/etc/rc.d/dhcps.shは、OS立ち上げ時に自動的にDHCPを起動するためのシェルスクリプトです。
usr/local/etc/rc.d/ppp.shは、OS立ち上げ時に自動的にiij-pppを起動するためのシェルスクリプトです。
usr/local/etc/lmhostsは、Sambaが使用するIPアドレスの設定ファイルです。
- 0.0.0.0 workgroup G
- Sambaのワークグループ名を"workgroup"とします。
- 192.168.1.1 home M
- Sambaの公開名を"home"とし、IPアドレスを192.168.1.1とします。
- 192.168.1.255 workgroup S
- ブロードキャストするワークグループ名を"workgroup"、IPアドレスを"192.168.1.255"とします。
usr/local/etc/smb.confは、Sambaの設定ファイルです。基本的なことは資料を参考にしていただくとして、ここでは独自に設定した部分のみを解説します。
- [samba]
- セクション"samba"の開始です。これがディレクトリの共有名となります。
- path = /usr/samba
- 実際にアクセスを行なうディレクトリを指定します。Sambaの設定で作ったディレクトリを指定しています。
- comment = FreeBSD samba
- ディレクトリに対してのコメントを指定します。
- read only = no
- 「読み込み専用」でないことを指定します。
- writable = yes
- 「書き込み可能」であることを指定します。"read only"の逆スイッチです。
- public = yes
- guestのログインを許可します。
- create mode = 0777
- ファイルやディレクトリの読み書き制御を「パブリック」(誰でも読み書きができる)にします。
メールはこちらへ...[後藤浩昭 / Hiroaki Goto / GORRY / gorry@shonan.ne.jp]
「その6 FreeBSD詳細設定その1」
「その8 tips」
「表紙へ戻る」
「FreeBSDページの表紙へ戻る」
「会議室」
「日記」