FreeBSDでNICを2枚使う設定がわからない

このQ&Aのポイント
  • FreeBSD7.2でsendmailサーバを運用しています。NICを2枚利用して、ローカルLANからのアクセス用と、インターネット向けのメール送受信用のポートを分けることを検討しています。
  • NICを2枚使用する場合に、それぞれのNICに別々のDNS、デフォルトゲートウェイを設定する方法がわかりません。FreeBSDでそれぞれのNICに個別のIPを振るのは、rc.confで出来そうですが、DNS設定を登録するresolv.confでNICの指定が出来るかわかりません。
  • sendmail上で、ローカルとネット向けで利用するNICをわける方法がわかりません。単純にNICを2枚挿しただけでは、ネット向けの通信もローカル側に配信されるのではないかと理解しています。BCP対策として利用予定のF/Wの制限で、ローカルLANのアクセスポートとインターネット向けのアクセスポートを分ける必要があります。
回答を見る
  • ベストアンサー

FreeBSDでNICを2枚使う設定がわからない

FreeBSD7.2でsendmailサーバを運用しています。 NICを2枚利用して、ローカルLANからのアクセス用と、インターネット向けのメール送受信用のポートを分けることを検討しています。 長文で申し訳ありませんが、何か良い方法があれば、ご教授ください。 1.NICを2枚使用する場合に、それぞれのNICに別々のDNS、デフォルトゲートウェイを設定する方法がわかりません。 WindowsPCであれは、ネットワークプロパティで分けることが出来ますが、FreeBSDでの設定がわかりません。 FreeBSDでそれぞれのNICに個別のIPを振るのは、rc.confで出来そうですが、DNS設定を登録するresolv.confでNICの指定が出来るかわかりません。また、デフォルトゲートウェイもひとつのIPアドレスしか登録できないように見えます。 2.sendmail上で、ローカルとネット向けで利用するNICをわける方法がわかりません。 単純にNICを2枚挿しただけでは、ネット向けの通信もローカル側に配信されるのではないかと理解しています。 BCP対策として利用予定のF/Wの制限で、ローカルLANのアクセスポートとインターネット向けのアクセスポートを分ける必要があります。 よろしくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
回答No.2

おそらく、FreeBSD以前の問題として、IPネットワークのことがまだよく理解できていないのではないでしょうか? とりあえず、独自の表現「ローカルLAN」というは用語は、社内*ローカル*アクセスなどの内部ネットワークのことと仮定します。 「インターネットに接続できるものは専用ネットワーク(外部ネットワーク)に接続されたノードのみで、内部ネットワークには アクセスできない。内部ネットワークに接続したノードは、インターネットへのアクセスができない。」ということでしょうか? 以下のような構成だと仮定します。とりあえず、NATなどは無視します。 F/Wがうんぬんということで、内部側にもゲートウェイ(ゲートウェイの先に別ネットワークセグメント)があるものとします 構成の予想図: (((インターネット))) | R:インターネット接続側ゲートウェイ(192.168.0.0/24) | ――――― 外部接続用ネットワーク:192.168.0.0/24 | |192.168.0.100/24 ■:FreeBSD |192.168.1.100/24 | ――――― 内部ネットワーク:192.168.1.0/24 | G:内部ネットワークゲートウェイ(192.168.1.1/24) | (((内部ネットワーク))) 192.168.2.0/24と192.168.3.0/24の2つとします。 経路設定、DNS設定、sendmail設定に分けて説明します。 **FreeBSD上の経路設定**  経路設定にNICは関係ありません。  ※ 詳細は避けますが、Windows ではできるように見えますが、設定できるだけであってNIC毎にデフォルトゲートウェイが    機能するわけではありません。  「ゲートウェイ(アドレス)」とは、自分が直結しているセグメント以外のネットワークについて、ゲートウェイになってくれる  アドレスを指定するものです。そのため、きちんと指定すれば、NICは関係ありません。  デフォルト経路:   ゲートウェイを192.168.0.1に設定する  192.168.2.0/24宛: ゲートウェイを192.168.2.1に設定する 起動時に有効にする rc.conf での設定(デフォルト経路の設定はわかると思いますので省略します)   static_routes="route1 route2"   route_route1="-net 192.168.2.0 -netmask 255.255.255.0 192.168.1.1"   route_route2="-net 192.168.3.0 -netmask 255.255.255.0 192.168.1.1"  ※ 変数名ですので、route1,route2というのはユニークな名前であれば構いません。   static_routes="kaihatsu keiri"   route_kaihatsu="-net 192.168.2.0 -netmask 255.255.255.0 192.168.1.1"   route_keiri="-net 192.168.3.0 -netmask 255.255.255.0 192.168.1.1" これは、内部的には、"route add -net 192.168.2.0 -netmask 255.255.255.0 192.168.1.1" というような 経路設定コマンドが実行されます。 内部ネットワークのセグメントがいっぱいあると大変かもしれませんが、 192.168.0.0/16(192.168.0.0 -netmask 255.255.0.0)などで向けてしまえばよいと思います。 ※192.168.0.0/16だとインターネット側の192.168.0.0/24は?と思うかもしれませんが、  より細かなネットワークの方の宛先を優先しますので、192.168.0.0/24宛がGになることはありません。  (そもそも、FreeBSD自身が直結しているセグメントですね)  最悪、10.0.0.0/8, 172.16.0.0/12, 192.168.0.0/16のプライベートIP空間全体を向ければ何とかなるかもしれません。  グローバルIP宛をデフォルト経路で処理する   static_routes="privateA privateB privateC"   route_privateA="-net 10.0.0.0 -netmask 255.0.0.0 192.168.1.1"   route_privateB="-net 172.16.0.0 -netmask 255.240.0.0 192.168.1.1"   route_privateC="-net 192.168.0.0 -netmask 255.255.0.0 192.168.1.1"   もし、 ゲートウェイRに向けないといけないプライベートIPネットワークがあれば、192.168.0.1宛を個別に記載してください。 「デフォルトゲートウェイ」とは、このような個別のネットワーク宛先のゲートウェイとして設定されていない時の *デフォルト*のゲートウェイということになります。そのため、NIC自体に設定するということは特殊な方法を除きありません。 **DNS設定**   resolverの設定だと思いますが、nameserver は2つまで書くことができ、上から順番に参照します。   内部ネットワーク側のDNS情報は、内部DNSしか持っていないのであれば、     nameserver 内部用DNSサーバを指定     nameserver インターネット接続側DNSサーバを指定   としておけば、おそらく問題ないと思います。1つ目が駄目な時、次に移るため、インターネット側サーバのDNS解決   に時間が少し掛るようになるかもしれません。   なお、内部用DNSサーバがインターネット側の情報も解決できるのであれば、内部DNSサーバだけ登録する   のでも問題ないと思います。   これは、内部DNSサーバだけ登録して、digコマンドで、「dig okwave.jp」など外部のインターネット側のサーバ   のIPアドレスを解決できるか確認してみましょう。   このように、  IPルーティングで、FreeBSDから見て、どちらにあるか設定済みですから、DNS設定としては、   NICは関係ありません。 **sendmail設定**  インターフェイス別(それぞれのIPアドレス毎)にsendmailを別々に用意しなくとも、経路情報から、正しい宛先に出ていきます。  受信について、デフォルトではsendmailは全てのインターフェイス(NIC)からの接続を受け付けます。  インターフェイス別に挙動が違うsendmailを用意したい(図では、192.168.0.100, 192.168.1.100で別の挙動をさせる)場合、  インターフェイスごとのsendmailの設定を用意し、sendmailを二つ挙げる(別のメールサーバのように見せる)という方法もあります。   一つ目は、192.168.0.100に割り当て、2つ目は192.168.1.100という方法で、読み込む設定の異なるsendmailを2つ上げる   のですが、おそらく、そういう話ではなく、1つのsendmailで済む話と思いますので、こちらは割愛します。  送信(FreeBSDから送信)ですが、メールアドレスのドメインによって、送信先を変えたいことがあるかもしれません。  DNSサーバ側でうまく設定できていれば、特に気にしなくともよいのですが、場合によっては明示的に指定した方が  良いと思います。   1.mailertableが使えるようにsendmail.cfを作成してください。     internal.foo.jp 宛を、mail.internal.foo.jp宛に送る場合      /etc/mail/mailertable の設定          internal.foo.jp smtp:[mail.internal.foo.jp]  ←DNSが引けない時を想定したい場合、IPアドレスで書くのもあり     [~]で送り先のメールサーバを囲むのを忘れないでください。       internal.foo.jp smtp:[mail.internal.foo.jp]               → internal.foo.jp 宛を mail.internal.foo.jp に送ります。       internal.foo.jp smtp:mail.internal.foo.jp              → internal.foo.jp 宛を mail.internal.foo.jp のMXとして登録しているサーバに送ります。   mailertable 参考:http://www.ksknet.net/sendmail/mailertable.html など 回答の残り字数が足りなくなりそうなので、全体的にあまり丁寧な書き方ではなく、また、ネットワーク状況がいまいち わかりにくいため答えづらく、申し訳ないですが、おそらく、このような方法でなんとかなるのではないでしょうか

fbdunix
質問者

お礼

詳細な説明をありがとうございます。 基本的には、ご指摘の構成で間違いありません。 予想構成図のR側にインターネットゲートウェイを接続、G側を社内ネットワークに接続して、 社内のPCからはGを経由しメールの送受信をし、社外とのメール交換はR側で行うことを考えています。 DNSは社内にあるDNSで基本的には、社外の名称解決もできるはずですが、resolv.confに社外DNSも追加してみます。 まずは、ご指摘いただいた設定で試してみます。 FreeBSD及びネットワーク環境は前任者が構築し、引き継ぎ資料等もない状態で、手探りで運用しているため、中途半端な理解でわかりにくい記載となり申し訳ありませんでした。

fbdunix
質問者

補足

作業時間が確保できず、まだ試していませんが、 質問から時間がたってしまいましたので、 ベストアンサーとさせていただきます。

その他の回答 (1)

回答No.1

DNSはホスト名からIPアドレスを調べるために使用するので、その時点でどのNICを使用するかはOSにはわかりません。だから、NICごとに設定しても意味はありません。Windowsで複数NICの場合は、優先設定されているNICのDNSのみが使用されているはずです。 デフォルトゲートウェイについても、どのゲートウェイ(NIC)を使用するべきかわからない相手と交信する場合に使用するのですから、NICごとに設定できるものではありません。

fbdunix
質問者

お礼

ご指摘ありがとうございました。 NICを1枚のみのサーバやPCは運用したことがあるのですが、複数のNICを使用した機器の運用の経験がないため、的外れな質問となっていました。 申し訳ありませんでした。 No.2の方の指摘を参考に設定してみます。

関連するQ&A

  • FreeBSDでNIC2枚それぞれを利用する

    FreeBSDでNIC2枚に対してそれぞれ NIC1:157.xxx.xxx.xxx/32 NIC2:210.xxx.xxx.xxx/32 の様に設定したとしてそれぞれのネットワークをWEBサーバ・SMTPサーバとして運用する事は可能でしょうか。 デフォルトゲートウェイを設定したNIC1のネットワークにしかうまくつなげません。 サーバが一台しかないのに別々の帯域の固定IPが2つ、独立したWEBサービスを運用するのにNIC2枚にする事でなんとかならないかなと思った次第です。 ご存知の方がいらっしゃいましたら教えて下さい。

  • NIC2枚での設定について

    NIC2枚差しでの設定をご教授下さい。         フレッツ光           │    ┌──────────────┐    │     CTU      │    └──────────────┘     │ IP:192.168.24.1   │     │PPPoE機能設定:「する」│     │           │ISP:OCN ┌───────┐      ┌──────┐ │BUFFARO│      │  HUB │ │BBR-4HG│─┐    └──────┘ └───────┘ │     │     └────┐  PPPoE接続     │{NIC2}  │{NIC1}      │  IP:192.168.11.1  └┌───────┐  ┌───────┐    DHCP:無効      │  PC2  │  │  PC3  │  ISP:INTERLINK   └───────┘  └───────┘  固定IP:1個      OS:windowsXP   OS:windowsXP    │                   DHCP:有効     │        ┌───────┐ │  PC1  │ └───────┘  OS:linux(centos)  自宅サーバー  固定IP:192.168.11.80 上図の通り、PC2をNIC2枚差しにて運用したいと思っております。 各PC1・PC3は運用に問題ありません。PC2にてPC1のセグメントと通信が出来ず困っております。 各NICの設定は下記の通りです。 -----NIC1----- IP:192.168.24.30 サブネットマスク:255.255.255.0 デフォルトゲートウェイ:192.168.24.1 -----NIC2----- IP:192.168.11.80 サブネットマスク:255.255.255.0 デフォルトゲートウェイ:空白 ----ルーティングテーブル追加---- route -p add 192.168.11.0 mask 255.255.255.0 192.168.11.1 metric 1 よろしくお願い致します。

  • FreeBSDでルータ作成ができなくてこまっています 

    当方初心者で、設定に丸3日程かかっていてかなりこまっています。 教えてください、よろしくお願いします。 FreeBSD7.2を使いブロードバンドルータとして動作させようと思っています。 接続方法はWANのIPをDHCPクライアントでIPSから取得し LANのIPは手動で設定し、Vistaを接続してインターネットに接続したいです。 FreeBSDビギナーズバイブルを見ながらPacket Filterを設定し、Vistaでインターネットに接続しようとすると、DNSの構成に問題がある可能性が有るとエラーがでます。 re0 WAN em0 local rc.confの設定は ---------------------------------------------------------- defaultrouter="192.168.1.1" gateway_enable="YES" tcp_drop_synfin="YES" icmp_drop_redirect="YES" pf_enable="YES" pf_rules="/etc/pf.conf" pflog_enable="YES" hostname="*****.localhost" ifconfig_re0="DHCP" ifconfig_em0="inet 192.168.1.1 netmask 0xffffff00" keymap="jp.106" ---------------------------------------------------------- Vistaのネットワーク設定は IPアドレス 192.168.1.18 サブネットマスク 255.255.255.0 デフォルトゲートウェイ 192.168.1.1 優先DNSサーバー 192.168.1.1 代替DNSサーバー FreeBSDのnameserver 設定している内容もあまり解かっていませんが、ブロードバンドルータを作りたいので教えてください、よろしくお願いします。

  • DynDNS@FreeBSD

    DynDNS.ORG の Custom DNS サービスを使って、マイドメインのサーバーを立てる予定です。 まず、/etc/resolv.conf にDNSをかきこしないといけないと思うのですが、ただいま、私の resolv.conf では、私のルーターのLAN側IPアドレスが書かれていました。 nameserver 192.168.1.1 これっぽっちです。おそらくこれを、DynDNSでもらうDNSに書き換えないといけないのだろうと思います。Custom DNS Nameservers のところに5個ほどあるのですが、このうちの2つをこのファイルと、ドメイン保管業者のDNSのところに書き込むとよいのでしょうか?さっぱりわかりません。よろしくお願いします。

  • /etc/resolv.conf

    /etc/resolv.conf /etc/resolv.conf は FreeBSD にインターネットドメインネームシステム (DNS) にどのようにアクセスするかを指定します。 resolv.conf の最もよくあるエントリは nameserver リゾルバが問い合わせるべきネームサーバの IP アドレス。 サーバはリストの順に 3 番目まで問い合わせられます。 search ホスト名をルックアップするための検索リスト。通常、ローカルなホスト名のドメインから決定されます。 domain ローカルドメイン名。 ---------------------------------------------------------- となりますが、わたくしの環境は、PR-S300SE というルータ使用なのですが、具体的に、DNS を調べる方法として、どのようなコマンドを叩けば、よろしいでしょうか? よろしくお願いします。

  • FreeBSD ネットワーク設定

    現在  「FreeBSD 9.2」 でサーバ構築を行っております。 元々別の場所でサーバを構築して頂いて、 こちらでシステムを入れる予定なのですが、 受け入れてIPアドレスを設定してもネットワークに つながりません。(デフォルトゲートウェイへpingが通らない) IPアドレスは固定のものを設定します。 下記のURLを参考にしましたが駄目でした。 http://d.hatena.ne.jp/appleappli/20110402/1301742963 http://www.kkaneko.com/rinkou/freebsd/FreeBSD_lab.html http://www.kkaneko.com/rinkou/freebsd/FreeBSD_client.html http://freebsd.sing.ne.jp/FreeBSD/06.html 初めて構築をするので何かアドバイスがあればお願い致します。

  • NICの設定について

    宜しくお願いします。 現在、IP ADDRESSを手動で割り当てております。 IP 192.168.0.2/24 DGW 192.168.0.1 DNS 192.168.0.1 NICの詳細設定にてIP ADDRESSを追加しました。 IP 192.168.1.2/24 理由は、192.168.1.0/24グループににLANDISKがあり、そちらにアクセスしたいのですが、上記設定でWINDOWS7だとアクセスできません。WINDOWS XPだと同じ設定でアクセスできます。 LANDISKのIPは192.168.1.YYY/24です。 WINDOWS7でも192.168.1.YYYのLANDISKにアクセスしたいのですが、できません。 NICをもう一つ追加するとアクセスできます。NICを追加しないでアクセス出来るようにするにはどのようにしたらよいでしょうか。 追記 LAN認証マネージャー認証レベルはLMとNTLMを送信するに設定してあります。 LANDISKはIODATAのHDL-160Uです。 \\LANDISK\DISKと入れても繋がりません。 \\192.168.1.YYY\DISKでもだめです。 PINGは通ります。 FIRE WALLを無効にし、アンチウイルスソフトを切っても繋がりません。 ルーターは1つです。 WORKGROUPAは192.168.0.0/24、WORKGROUPBは192.168.1.0/24です。 その他足りないことがあれば指摘してください。

  • NIC2枚差の設定について

    CentOS5.2にてNICが2つある状態です。 それぞれの設定はこのようにしております。 /etc/sysconfig/network-scripts/ifcfg-eth1 DEVICE=eth1 BOOTPROTO=none IPADDR=192.168.24.200 NETMASK=255.255.255.0 BROADCAST=192.168.24.255 HWADDR=xx:xx:xx:xx:xx:xx ONBOOT=yes IPV6INIT=no NETWORK=192.168.2.0 TYPE=Ethernet USERCTL=no /etc/sysconfig/network-scripts/ifcfg-eth2 DEVICE=eth2 BOOTPROTO=none IPADDR=192.168.11.200 NETMASK=255.255.255.0 BROADCAST=192.168.11.255 HWADDR=xx:xx:xx:xx:xx:xx ONBOOT=yes IPV6INIT=no NETWORK=192.168.11.0 TYPE=Ethernet USERCTL=no /etc/resolv.conf nameserver 192.168.11.1 nameserver 192.168.24.1 # route Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.2.0 * 255.255.255.0 U 0 0 0 eth1 192.168.11.0 * 255.255.255.0 U 0 0 0 eth2 169.254.0.0 * 255.255.0.0 U 0 0 0 eth2 default 192.168.24.1 0.0.0.0 UG 0 0 0 eth1 /etc/sysconfig/network GATEWAY=192.168.24.1 ゲートウェイはそれぞれ別のルーターで、グローバールIPをルーターが持っています。 一般的な固定IP1ってやつです。 サービス(たとえばSSH)にアクセスしようとしたときにゲートウェイが設定されているルーターのグローバルIPからだとアクセスできるのですが、 ゲートウェイになってないほうのルーターのグローバールIPだと接続できません。 ゲートウェイを切り替えればどちらの場合でもアクセスはできるのですが、もう片方ではアクセスできないということになります。 (ルーターのパケット変換などは設定されています。) 両方のグローバルIPでアクセスするにはどうしたらよいのでしょうか? 実際には別のポートでSSHではないサービスに対してアクセスを行いたいのですが、そもそもSSHにすらアクセスできない状況で非常に困っています。 どうかよろしくお願いします。

  • WindowsPCでNICを2つ使いたい

    はじめまして。 WindowsPCでNICを2つ使いたいのですが、うまく通信できません。 恐らくPC側の設定の問題と疑っているのですが、どなたか設定方法をご存知でしょうか? ・環境   インターネット      |    ルーター      | PC1=ハブ-PC2      |     PC3 ・PC1(OS:Windows7 Pro 64bit) NIC2枚挿しです。(1つは最初からついてるNIC、もう1つはUSB接続のNIC) それぞれのNICには、異なるセグメントのIPアドレスを割り当てたいです。 また、PC1はインターネットにアクセスします。従って、PC1のデフォルトGWは ルーターのIPアドレスです。 例えば、NICの設定を以下のように設定したとします。 NIC1:192.168.1.1/24 デフォルトGW:192.168.1.254(インターネットアクセス用セグメント) NIC2:192.168.2.1/24 デフォルトGW:設定無し(LAN用セグメント) (デフォルトGWは1つしか設定できないので、NIC2には設定しません。) NIC2枚に接続したLANケーブルは同じHUBに接続します。 ・PC2(OS:Windows7 Pro 64bit) NICは1つです。 インターネットにはアクセスしません。 LAN用セグメントで使用したいので、デフォルトGWは設定していません。 NIC:192.168.2.2/24 デフォルトGW:設定無し(LAN用セグメント) ・PC3(OS:MacOSX) NICは1つです。 インターネットにアクセスしますが、PC1、PC2とはアクセスしません。 NIC:192.168.1.10/24 デフォルトGW:192.168.1.254(インターネットアクセス用セグメント) ・問題点 PC1~PC2間でping疎通が通ったり、通らなかったりロストします。 PC1に何かの設定が不足してると思っているのですが、 このような環境でPC1~PC2間で通信できるようにする設定を教えてください。 ちなみに、PC1、PC3からインターネットは問題無くできます。

  • Windows7のネットワーク設定について

    NIC(ネットワークアダプタ)の設定について疑問があります。 NICの数と、ルーターの有無(インターネットワーク接続)との組み合わせで 2つのパターンについてどなたか教えていただけませんか。 PCのNICに入れるIPは全て固定です。 【状況(1)】  NICは1つ。  ネット接続しないローカル限定のLAN。  利用するネットワーク内にルーターが存在しない。 ⇒▼質問:このときのPC側の設定について。  Windows7やWindowsXPのネットワークアダプタ設定時、  デフォルトゲートウェイの入力は不要と考えていますが  それで間違いないのでしょうか。 【状況(2)】  NICは2つ。  ネット接続しないローカル限定のLANにつながるNICと、  ネット接続しているルーターを含むLANにつながるNICがある。  それぞれのIPアドレスの体系は別だが、いずれもクラスC。 ⇒▼質問:このときのPC側の設定について。  Windows7やWindowsXPのネットワークアダプタ設定時、  ネット接続しているNICのみデフォルトゲートウェイやDNSの入力をする。  ネット接続していないNICでは、IPとサブネットマスクの2行のみ入力。  ・・・作業はこれらのみで良いと考えているのですが、  IPアドレスでのルーティングが必要なのか?など、  知識不足で見落としが無いのかが気になっています・・・。 いずれにおいても、まれに、通信が急にとれなくなったり、 IPアドレスが勝手に変わったりすることがあります。 特定のサイトのみで起こっています。 まず知識不足による設定の不備を疑っており、お教えいただけましたら幸いです。