FreeBSD natd ポート転送

FreeBSD natd ポート転送

簡単に設定したいネッドRDPを介して外部ネットワークからローカルWinコンピュータ(192.168.20.10)にアクセスできるように、FreeBSDルータでポート転送を実行します。

構成は次のとおりです。2つのネットワークカードを備えたFreeBSD 12.0システムイグブ0そして免疫グロブリン1。 PPPoE インターネット接続がオンになっています。イグブ0。私のISPはDHCPを介して固定パブリックIPを提供しました。Tun0インターフェイスは次のとおりです。

tun0: flags=8051<UP,POINTOPOINT,RUNNING,MULTICAST> metric 0 mtu 1492
   options=80000<LINKSTATE>
   inet 91.122.x.x --> 91.122.y.y netmask 0xffffffff
   groups: tun
   nd6 options=21<PERFORMNUD,AUTO_LINKLOCAL>
   Opened by PID 1149

91.122.x.x私の固定パブリックIPアドレスはどこにありますか?)

LANが有効免疫グロブリン1、ローカルコンピュータからインターネットにアクセスできます。

次のオプションを使用してカーネルを再構築します。

#IPFW
 options         IPFIREWALL
 options         IPFIREWALL_VERBOSE
 options         IPFIREWALL_VERBOSE_LIMIT=30
 options         LIBALIAS
 options         IPFIREWALL_DEFAULT_TO_ACCEPT   # optional, won't let you lock out
 options         IPDIVERT

#PPPoE
 options         NETGRAPH
 option          NETGRAPH_PPPOE
 options         NETGRAPH_SOCKET

構成は次のとおりです。

root@beastiebox:/etc # cat rc.conf
hostname="beastiebox"
gateway_enable="YES"
ifconfig_igb0="DHCP"
ifconfig_igb1="inet 192.168.20.1 netmask 255.255.255.0"
mpd_flags="-b"
mpd_enable="YES"
sshd_enable="YES"
#NAT
natd_enable="YES"
natd_interface="igb0"
natd_flags="-f /etc/natd.conf"
#DHCP
dhcpd_enable="YES"
dhcpd_flag="-q"
dhcpd_conf="/usr/local/etc/dhcpd.conf"
dhcpd_ifaces="igb1"
dhcpd_withumask="022"
dhcpd_chuser_enable="YES"
dhcpd_withuser="dhcpd"
dhcpd_withgroup="dhcpd"
dhcpd_chroot_enable="YES"
dhcpd_devfs_enable="YES"
dhcpd_rootdir="/var/db/dhcpd"
#Firewall
firewall_enable="YES"
firewall_type="simple"
firewall_script="/etc/ipfw.rules"
firewall_logging="YES"
firewall_script="YES"
root@beastiebox:/etc # cat natd.conf
same_ports yes
use_sockets yes
#unregistered_only yes
redirect_port tcp 192.168.20.10:3389 3389
redirect_port udp 192.168.20.10:3389 3389

これまでファイアウォールは透明でした。

root@beastiebox:/etc # ipfw list
65535 allow ip from any to any
root@beastiebox:/etc #

多くのオプションを試しましたが、外部からローカルのWinコンピュータにRDPを実行することはできません。 (FreeBSDルーターを以前に使用した他のルーターと交換すると機能します。)redirect_portipfwがallow ip from any to any

私の構成のエラーを指摘するのに役立ちます。

ポート転送(pfなど)を設定する他の方法を提案しないでください。具体的に尋ねます。ナード/ipfw

ベストアンサー1

私はついにこれを見つけました。

私は殺そうとしました。ネッドいくつかのテストオプションを使用して再起動しましたが、その後もLANコンピュータのインターネット接続が失われなかったという事実にかなりショックを受けました。調査を開始し、別の別のNATが動作していることを発見しました!それがppp nat根本的な/etc/ppp/ppp.conf原因です。しかし、私の一部を変更する必要がありましたナード/ipfwすべてが期待どおりに機能するように設定してください。

まず(外部ネットワークカードから接続すると起動するpppoeインタフェースへ)natd_interface="igb0"に変更しました。次のようにnatd_interface="tun0"ipfwルールを追加しました。divert

ipfw add divert natd from any to any via tun0

その後、すべてがうまく機能し、今はファイアウォールを調整し続けています。

おすすめ記事