ケーブル/DSLモデムとLANシステムの間にfreebsdルーターを設定しようとしています。論理設定は次のとおりです。
インターネット接続用のケーブル/DSLモデム:
gateway 192.168.0.1
FreeBSDルーター(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システム(フリーバード)のルーティングテーブルエントリです。
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はslooooowwwwwです。
この情報が設定に合うのか、それとも明らかな問題があるのでしょうか?
答え1
10.0.0.0/8から192.168.0.121に着信するすべてのトラフィックをルーティングするには、モデムに固定パスを追加する必要があるようです。
NATはモデムで実行されると仮定したいと思います。
答え2
pf
モデムでNATが行われない場合は、ファイアウォールで解決策になります。ただし、NAT接続はDSLを使用していると述べたように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を設定し、それをlisteningに設定して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システムはインターネットにアクセスできません。