Код: Выделить всё
root@router:/etc # ifconfig
bge0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=8009b<RXCSUM,TXCSUM,VLAN_MTU,VLAN_HWTAGGING,VLAN_HWCSUM,LINKSTATE>
ether 00:13:d3:db:43:60
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
xl0: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=82009<RXCSUM,VLAN_MTU,WOL_MAGIC,LINKSTATE>
ether 00:50:da:c5:11:16
inet 192.168.168.1 netmask 0xffffff00 broadcast 192.168.168.255
media: Ethernet autoselect (none)
status: no carrier
plip0: flags=8810<POINTOPOINT,SIMPLEX,MULTICAST> metric 0 mtu 1500
ipfw0: flags=8801<UP,SIMPLEX,MULTICAST> metric 0 mtu 65536
lo0: flags=8049<UP,LOOPBACK,RUNNING,MULTICAST> metric 0 mtu 16384
options=600003<RXCSUM,TXCSUM,RXCSUM_IPV6,TXCSUM_IPV6>
inet 127.0.0.1 netmask 0xff000000
vlan1: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.17.15.252 netmask 0xfffffc00 broadcast 172.17.15.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 1 parent interface: bge0
vlan20: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 10.0.0.253 netmask 0xffffff00 broadcast 10.0.0.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 20 parent interface: bge0
vlan201: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.1.252 netmask 0xffffff00 broadcast 172.20.1.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 201 parent interface: bge0
vlan202: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.2.252 netmask 0xffffff00 broadcast 172.20.2.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 202 parent interface: bge0
vlan203: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.3.252 netmask 0xffffff00 broadcast 172.20.3.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 203 parent interface: bge0
vlan204: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.4.252 netmask 0xffffff00 broadcast 172.20.4.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 204 parent interface: bge0
vlan205: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.5.252 netmask 0xffffff00 broadcast 172.20.5.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 205 parent interface: bge0
vlan206: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.6.252 netmask 0xffffff00 broadcast 172.20.6.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 206 parent interface: bge0
vlan207: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.7.252 netmask 0xffffff00 broadcast 172.20.7.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 207 parent interface: bge0
vlan208: flags=8843<UP,BROADCAST,RUNNING,SIMPLEX,MULTICAST> metric 0 mtu 1500
options=3<RXCSUM,TXCSUM>
ether 00:13:d3:db:43:60
inet 172.20.8.252 netmask 0xffffff00 broadcast 172.20.8.255
media: Ethernet autoselect (100baseTX <full-duplex>)
status: active
vlan: 208 parent interface: bge0
ng0: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1460
inet 192.168.100.22 --> 192.168.100.1 netmask 0xffffffff
ng1: flags=88d1<UP,POINTOPOINT,RUNNING,NOARP,SIMPLEX,MULTICAST> metric 0 mtu 1396
inet 192.168.10.0 --> 192.168.10.12 netmask 0xffffffff
Код: Выделить всё
root@router:/etc # cat /etc/ipfw.rules
#!/bin/sh
ipfw='/sbin/ipfw -q'
#local='192.168.10.0/23'
worknet='172.17.12.0/20'
usernet='172.16.0.0/22'
vpn='192.168.100.0/22'
########## VLANS ######
vlan20='10.0.0.0/24'
vlan201='172.20.1.0/24'
vlan202='172.20.2.0/24'
vlan203='172.20.3.0/24'
vlan204='172.20.4.0/24'
vlan205='172.20.5.0/24'
vlan206='172.20.6.0/24'
vlan207='172.20.7.0/24'
vlan208='172.20.8.0/24'
##########################
#Sbros vseh pravil
${ipfw} flush
${ipfw} pipe flush
${ipfw} queue flush
#Razreshaem vse po local intface
${ipfw} add 10 allow all from any to any via lo0
${ipfw} add 11 deny all from any to 127.0.0.0/8
${ipfw} add 12 deny all from 127.0.0.0/8 to any
${ipfw} add 13 allow all from me to any keep-state
#Ping
${ipfw} add 210 allow icmp from any to me icmptypes 0,3,5,8
#Podkluchenie SSH & VPN 1723(vpn) 22(ssh)
${ipfw} add 250 allow gre from any to any
${ipfw} add 250 allow tcp from any to me 5006 keep-state
${ipfw} add 250 allow all from me to any keep-state
${ipfw} add 250 allow tcp from me to 172.17.12.17 dst-port 1723 keep-state
${ipfw} add 250 allow tcp from me to 172.17.12.232 dst-port 1723 keep-state
${ipfw} add 250 allow all from ${worknet} to me dst-port 1723,22,80,5006 keep-state
${ipfw} add 250 allow all from ${vlan20} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan201} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan202} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan204} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan205} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan206} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan207} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from ${vlan208} to me dst-port 1723,22,80 keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to me keep-state
#${ipfw} add 250 fwd 192.168.100.1 all from 192.168.10.0/23 to any keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vpn} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${worknet} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan20} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan201} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan202} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan203} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan204} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan205} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan206} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan207} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to ${vlan208} keep-state
${ipfw} add 250 allow all from 192.168.10.0/23 to 172.16.0.0/21 via ng0 keep-state
${ipfw} add 256 deny tcp from any to me 1723,22,80
#logs
${ipfw} add 500 deny log all from any to any
#Vsem VSE
#${ipfw} add 65000 allow all from any to any
#NATip
/sbin/ipnat -CF -f /etc/ipnat.rules
Код: Выделить всё
root@router:/etc # cat /etc/ipnat.rules
map vlan1 from 192.168.10.0/23 to 172.17.12.0/22 -> 172.17.15.252/32
map vlan20 from 192.168.10.0/23 to 10.0.0.0/24 -> 10.0.0.253/32
map vlan201 from 192.168.10.0/23 to 172.20.1.0/24 -> 172.20.1.252/32
map vlan202 from 192.168.10.0/23 to 172.20.2.0/24 -> 172.20.2.252/32
map vlan203 from 192.168.10.0/23 to 172.20.3.0/24 -> 172.20.3.252/32
map vlan204 from 192.168.10.0/23 to 172.20.4.0/24 -> 172.20.4.252/32
map vlan205 from 192.168.10.0/23 to 172.20.5.0/24 -> 172.20.5.252/32
map vlan206 from 192.168.10.0/23 to 172.20.6.0/24 -> 172.20.6.252/32
map vlan207 from 192.168.10.0/23 to 172.20.7.0/24 -> 172.20.7.252/32
map vlan208 from 192.168.10.0/23 to 172.20.8.0/24 -> 172.20.8.252/32
map vlan209 from 192.168.10.0/23 to 172.20.9.0/24 -> 172.20.9.252/32
map vlan210 from 192.168.10.0/23 to 172.20.10.0/24 -> 172.20.10.252/32
map vlan211 from 192.168.10.0/23 to 172.20.11.0/24 -> 172.20.11.252/32
map vlan212 from 192.168.10.0/23 to 172.20.12.0/24 -> 172.20.12.252/32
#vpn
map ng0 from 192.168.10.0/23 to 192.168.100.0/22 -> 192.168.100.22/32
надо чтобы на фря подымалась впнка (ng0) - работает
чтобы могли к mpd подключаться пользователи "нелегалы" - работает
натить "нелегалов" через поднятую впн на фря (ng0) - неполучается.

если есть идеи попроще конечно выслушаю, но уж очень мне ipfw и ipnat нравятся
