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

그 후 모든 것이 잘 작동했고 지금은 계속해서 방화벽을 조정하고 있습니다.

관련 정보