간단하게 설정하려고 합니다네드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_port
ipfw 가 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
그 후 모든 것이 잘 작동했고 지금은 계속해서 방화벽을 조정하고 있습니다.