Система: FreeBSD 8.2-RELEASE
Задача: Пробросить порт на Виндовую машину в сети, средствами ipfw.
Что было сделано:
Код: Выделить всё
${ipfw} add redirect_port tcp 192.168.3.1:4000 4000
Код: Выделить всё
"ipfw: invalid action redirect_port"
rc.conf:
Код: Выделить всё
defaultrouter="xxx.xxx.xxx.xxx"
ifconfig_re0="inet 192.168.3.250 netmask 255.255.255.0"
ifconfig_re1="inet aaa.aaa.aaa.aaa netmask 255.255.255.252"
apache22_enable="YES"
firewall_enable="YES"
firewall_script="/etc/ipfw.conf"
sshd_enable="YES"
mysql_enable="YES"
sams_enable="YES"
squid_enable="YES"
natd_enable="YES"
natd_interface="re1"
natd_flags=""
dnsmasq_enable="YES"
gateway_enable="YES"
router_enable="YES"
Код: Выделить всё
ipfw="/sbin/ipfw -q"
natd="/sbin/natd"
lan_out="re1" # внешний интерфейс
lan_in="re0" # внутрений интерфейс
ip_out="xxx.xxx.xxx.xxx."
ip_in="192.168.3.250"
lan="192.168.3.0/24"
${ipfw} -q -f flush
${ipfw} add check-state
${ipfw} add allow all from any to any via lo0
# Riderect
${ipfw} add redirect_port tcp 192.168.3.1:4000 4000
#${ipfw} nat 123 config log if re1 reset same_ports deny_in redirect_port tcp 192.168.3.1:4000 4000
#${ipfw} add nat ip from any to any out xmit re1
#${ipfw} add nat ip from any to any in recv re1
#${ipfw} nat 1 config log if re1 reset same_ports deny_in redirect_port tcp 192.168.3.1:4000 4000
#NAT
#${ipfw} add fwd 127.0.0.1,3128 tcp from ${lan} to any http via ${lan_in}
${ipfw} add divert natd ip from ${lan} to any out via ${lan_out}
${ipfw} add divert natd ip from any to ${ip_out} in via ${lan_out}
${ipfw} add allow all from any to any via ${lan_in}
${ipfw} add allow icmp from any to any
# Проброс портов
${ipfw} add fwd 192.168.3.1,4000 tcp from any to me dst-port 4000 via ${lan_out}
${ipfw} add fwd 192.168.3.1,4000 udp from any to me dst-port 4000 via re1