Имеем: FreeBSD 6.3 stable
rl0 - смотрит к провайдеру internet (172.21.144.XXX/24)
sk0 - смотрит в местную локальную сеть (между домами) (10.10.3.XX/24)
nve0 - смотрит в домашнюю сеть (дома компьютера) (192.168.0.XX/28 через DHCPD)
sk1 - сосед по квартире (192.168.0.XX/28 через DHCPD)
sk2 - второй сосед по квартире (192.168.0.XX/28 через DHCPD)Необходимо: 1. Доступ со всех компьютеров в интернет через rl0 (уже настроено и работает через natd. Пока через firewall_type="open")
2. Закрыть sk0 и rl0 друг от друга
Написал так: ipfw add deny all from 192.168.0.0/28 to any in via rl0
ipfw add deny all from 192.168.0.0/28 to any in via sk0
ipfw add deny all from 172.21.144.0/24 to any in via nve0
ipfw add deny all from 192.168.0.0/28 to any in via nv0
(в правильности не уверен)
3. Доступ nve0, sk1, sk2 к домашней сети через sk0
Вот тут и застрял.
sk0 работает через шлюз: 10.10.3.8, т.е.
route add 10.10.X.0/24 10.10.3.8
(там несколько подсетей). Данные маршруты прописал и с компьютера, являющегося роутером, ресурсы сети пингую.
Нужно перенаправить обращения к 10.10.0.0/16 на 10.10.3.8, преобразовав подсеть 192.168.0.X в 10.10.3.XX/24 (например в адрес выданный мне внешним DHCP), чтобы снаружи виделся только один компьютер. Т.е. наподобие второго natd. Вообще, можно преобразоватьи в ряд адресов, но как внешний DHCP уговорить выдавать не один адрес, а диапазон?
Как это можно осуществить?
Я с UNIX работаю всего 3 месяца, опыта нет, поэтому просьба: ответ "проговаривать" полностью...