最初、MUCHO-STのダイアルアップ接続時にうまく接続できませんでした。
MUCHO-STは、ダイアルアップ接続先の設定を、複数のコマンドの組み合わせで
指定します。
(わかりにくくて、あんまり好きじゃないんですが... :-)
うちでの設定内容(displayコマンドの実行結果)のうち、接続に関係するものは、以下のようになってます。
hostname 1:default name: [プロバイダのアカウント]@vc-net.ne.jp chapkey: [パスワード] papkey: [パスワード] nameserver: [内部LAN用DNSサーバ] netbiosserver: [内部LAN用WINSサーバ] domainname: d-line.net 〜(略)〜 target inet : [電話番号] nn [パスワード] 64(K) off [プロバイダのアカウント名]@vc-net.ne.jp cbmode:off
このうち、targetで指定している「nn」のところを、「cn」にしているとつながりませんでした。
MUCHOのマニュアルには、
ここは「発呼時認証方法と着呼時認証方法を指定する」と
なっており、てっきり発呼時認証方法=CHAP,着呼時認証方法=なし とするのが
正しいと思ったのですが、サポートセンターに聞いたところ、ここの設定は
どちらも着信時のものだということです。
MUCHOでの静的NATの設定は、natplusstatictableコマンドでおこないます。
うちでの設定は、以下のようになってます。
natplusstatictable 210.255.146.40 ,22 [内部サーバのアドレス] ,22 210.255.146.40 ,25 [内部サーバのアドレス] ,25 210.255.146.40 ,53 [内部サーバのアドレス] ,53 210.255.146.40 ,80 [内部サーバのアドレス] ,80 210.255.146.40 ,113 [内部サーバのアドレス] ,113 210.255.146.40 ,119 [内部サーバのアドレス] ,119
それぞれ、SSH(22),SMTP(25),DNS(53),HTTP(80),IDENT(113)※,NNTP(119)を
内部のサーバにアドレス変換して中継します。
MUCHOの静的NATには、TCP/UDPの指定がないのですが、DNSのクエリーとゾーン転送の
両方に使えることから、TCP/UDPの両方をアドレス変換するようです。
MUCHOのフィルタリングは、ipfilterコマンドで設定します。
うちでの設定は以下のとおり。
ipfiltering(forward) 1:tcp full src:0.0.0.0 0.0.0.0 0 65535 recv:lan,hsd,isdn1,isdn2 dst:210.255.146.40 255.255.255.255 80 80 send:lan,hsd,isdn1,isdn2 2:all full src:[内部ネットワーク] 255.255.255.0 0 65535 recv:lan dst:0.0.0.0 0.0.0.0 0 65535 send:lan,hsd,isdn1,isdn2 3:tcp full src:0.0.0.0 0.0.0.0 0 65535 recv:lan,hsd,isdn1,isdn2 dst:210.255.146.40 255.255.255.255 25 25 send:lan,hsd,isdn1,isdn2 4:tcp full src:0.0.0.0 0.0.0.0 0 65535 recv:lan,hsd,isdn1,isdn2 dst:210.255.146.40 255.255.255.255 22 22 send:lan,hsd,isdn1,isdn2 5:tcp/udp full src:0.0.0.0 0.0.0.0 0 65535 recv:lan,hsd,isdn1,isdn2 dst:210.255.146.40 255.255.255.255 53 53 send:lan,hsd,isdn1,isdn2 ipfiltering(discard) *** empty table
MUCHOのフィルタリングは、ルールにないパケットは破棄されるので、
許可するものだけを書きます。
NATされるアドレスのルールをどう書けばいいのかわからなかったんですが、
どうやら、NAT前のアドレスを記述しておけばいいようです。
内部LANのためのDNSと、インターネットへ公開するDNSを 一台のサーバで動かしています。
内部向けDNS設定ファイル(/etc/named.conf) options { directory "/etc/ns" ; allow-query { 192.168.1/24 ; }; allow-transfer { !any ; }; listen-on { 192.168.1.1 ; }; } ; 外部向けDNS設定ファイル(/etc/named-out.conf) options { directory "/etc/ns.out" ; allow-query { any ; }; allow-transfer { [セカンダリDNSのIPアドレス] ; }; listen-on { 192.168.1.254 ; }; } ;
named起動時に -c オプションで、それぞれの設定ファイルを指定し、 二つのnamedを動かしています。
named -c/etc/named.conf named -c/etc/named-out.conf
listen-onで、それぞれのDNSが接続を受け付けるIPアドレスを
指定しています。
allow-queryには、DNSへの問い合わせを許可するIPアドレスを書きます。
内部向けは、内部ネットワークからのみを許可、外部向けは全ての
アドレスからを許可しています。
allow-transferは、ゾーン全体の転送を許可するIPアドレスを書きます。
内部にはセカンダリ(slave)DNSがないので、ゾーン転送は許可していません。
外部向けは、セカンダリDNSのみに、ゾーン転送を許可しています。
通常namedはndc(name daemon control program)で起動/停止や 新しい設定ファイルの読み込みなどの操作をおこないます。 1台のマシンで複数のnamedが動いている場合には、明示的にどちらの namedを操作するかを指定する必要があります。これにはndcの -c オプション を使います。
ここで指定するのは、チャネルと呼ばれるUNIXのdomain socketで、
デフォルトではndc という名前で作られます。
(つくられる場所は、OSによりますが、例えばFreeBSD 3.4Rでは/var/run 以下に
なります。)
チャネル名をデフォルトから変更するには、設定ファイル内でcontrolsを 指定してやります。例えば外部向けDNSの設定ファイル(/etc/named-out.conf)では 以下のように指定しています。
controls { unix "/var/run/ndc-out" perm 0600 owner 0 group 0; };これで、内部向けのnamedを操作する場合には、
ndc [command]外部向けのnamedを操作するには、
ndc -c /var/run/ndc-out [command]と、使い分けることができるようになります。