настроил NAT и Firewall. Не получается дать доступ во внешнюю сеть выборочно нескольким компам.
ОС – FreeBSD Releas 7.2
Firewall – ipfw
NAT – ipnat
Настройки:
1. Добавил опции ядра:
- Код: Выделить всё
IPFIREWALL
IPDIVERT
IPFIREWALL_VERBOSE
IPFIREWALL_VERBOSE_LIMIT=100
2. rc.conf:
- Код: Выделить всё
ifconfig_bge0=”10.0.0.10 netmask 255.255.255.0”
ifconfig_rle0=”192.168.0.10 netmask 255.255.255.0”
gateway_enable=”YES”
firewall_enable=”YES”
firewall_type=”/etc/firewall.conf”
ipnat_enable=”YES”
ipnat_program=”/sbin/ipnat -CF –f””
ipnat_rules=”/etc/ipnat.rules”
ipnat_flags=””
defaultrouter=”192.168.0.1”
3. ipnat.rules:
- Код: Выделить всё
map rl0 from 10.0.0.0/24 to 192.168.0.0/24 -> 192.168.0.10/32 proxy port ftp ftp/tcp
map rl0 from 10.0.0.0/24 to 192.168.0.0/24 -> 192.168.0.10/32
map rl0 from 10.0.0.0/24 to 0.0.0.0/0 -> 192.168.0.10/32 proxy port ftp ftp/tcp
map rl0 from 10.0.0.0/24 to 0.0.0.0/0 -> 192.168.0.10/32
4. ipfw –a show:
- Код: Выделить всё
00100 16 1016 allow ip from any to any via lo0
00200 0 0 deny ip from any to 127.0.0.0/8
00300 0 0 deny ip from 127.0.0.0/8 to any
65534 30575 3932974 allow ip from any to any
65635 1665 191001 deny ip from any to any
И вот что получается. В такой конфигурации всё работает, Но если убрать правило 65534 и добаить
add 400 allow all from 10.0.0.218 to any
то доступа нет ни у кого, в том числе и с указанного IP, а если не убирать 65534, а добавить
add 400 deny all from 10.0.0.218 to any
такое правило работает так, как и ожидалось.
Да, ещё вот что. Хосы из сети 192.168.0.0/24 стучатся на Firewall:
- Код: Выделить всё
Aug 21 15:20:11 kernel: arp: 192.168.0.1 is on rl0 but got reply from 00:19:56:32:0d:f1 on bge0
Aug 21 15:24:58 kernel: arp: 192.168.0.101 is on rl0 but got reply from 00:03:47:31:ce:e1 on bge0
Подскажите, please,что где не так.