ケーブル/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 を使用していると述べているように、pf
NAT は または で実行できますpppd
。pppoe
編集/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
から、この構成をdhcpd
LAN 上のクライアントにプッシュするか、/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マシンはインターネットにアクセスできません。