2 つの NIC を持つゲートウェイはどのようにルーティングすればよいですか (FreeBSD 10.2)?

2 つの NIC を持つゲートウェイはどのようにルーティングすればよいですか (FreeBSD 10.2)?

ケーブル/DSL モデムと LAN マシンの間に FreeBSD ルーターを設置しようとしています。論理的な設定は次のとおりです。

インターネットに接続されたケーブル/DSLモデム:

gateway 192.168.0.1

FreeBSD ルーター (NIC 2 個付き):

em0 192.168.0.121
ue0 10.0.0.1

FreeBSD Lan マシン:

em0 10.0.0.2

LAN から WAN へのパスは 10.0.0.2->10.0.0.1->192.168.0.1-> WAN であるはずで、LAN マシンからインターネット上のマシンに ping できるはずです。

要約すると、次のようになります。

  • FreeBSD ルーターからインターネットにアクセスできます。
  • LAN マシンは FreeBSD ルーターからアクセスできます。
  • FreeBSD ルーターは LAN マシンからアクセスできます。
  • LAN マシンからインターネットにアクセスできません。

ルーターの /etc/rc.conf エントリは次のとおりです。

ifconfig_ue0="inet 10.0.0.1 netmask 255.255.255.0"
ifconfig_em0="inet 192.168.0.121 netmask 255.255.255.0"
gateway_enable="YES"                                                   
defaultrouter="192.168.0.1" 

以下は LAN マシンの /etc/rc.conf エントリです。

ifconfig_em0="inet 10.0.0.2 netmask 255.255.255.0"
defaultrouter="10.0.0.1"

以下は FreeBSD ルーター (loki) のルーティング テーブル エントリです。

netstat -r            
Routing tables

Internet:                                          
Destination        Gateway            Flags      Netif Expire
default            192.168.0.1        UGS         em0 
10.0.0.0/24        link#3             U           ue0
10.0.0.1           link#3             UHS         lo0
127.0.0.1          link#2             UH          lo0
192.168.0.0/24     link#1             U           em0
192.168.0.121      link#1             UHS         lo0

以下は、LAN マシン (freebird) からのルーティング テーブル エントリです。

netstat -r
Routing tables

Internet:
Destination        Gateway            Flags      Netif Expire
default            10.0.0.1           UGS         em0
10.0.0.0           link#1             U           em0
10.0.0.2           link#1             UHS         lo0
freebird           link#2             UH          lo0

LAN マシン上の netstat がものすごく遅いです。

この情報はセットアップに対して正しいように見えますか、それとも明らかな問題があるのでしょうか?

答え1

10.0.0.0/8 のすべての着信トラフィックを 192.168.0.121 にルーティングするには、モデムに静的ルートを追加する必要があると思います。

ここではモデムで NAT が行われているものと想定しています。

答え2

これは、NAT がモデムで実行されていない場合に、ファイアウォールで解決できる方法です。ただし、 DSL を使用していると述べているように、pfNAT は または で実行できますpppdpppoe

編集/etc/pf.conf

external_iface="em0"  # your WAN facing interface
internal_iface="ue0" # your LAN facing interface

set skip on lo0 # skip filtering on loopback
nat on $external_iface from $internal_iface:network to any -> ( $external_iface:0)

block in on $external_iface

pass in quick on $internal_iface from $internal_iface:network to any keep state

pass out on $external_iface

DNS に関しては、Frebsd ボックスに local_unbound を設定し、 listen するように設定して192.168.0.1から、この構成をdhcpdLAN 上のクライアントにプッシュするか、/etc/resolv.conf次のように手動で編集します。

echo 'nameserver 192.168.0.1' > /etc/resolv.conf

答え3

FreeBSDルーターマシンでNATを設定し、10.0.0.0/8ネットワークを192.168.0.121/32 IPアドレスにNAT(ポート変換付き)する必要があります。そうしないと、LANマシンはインターネットにアクセスできません。

関連情報