Исходные данные:
сервер с OS FreeBSD 6.3 должен работать как шлюз меджу ЛВС и интернет со следующими сервисами: squid
apache
natd
ipfw
postfix
courier-imap
и т.д. далее не важно
Железо:
1 (!) сетевая карта
Особенности:
Для одного физического интерфейса в rc.conf
прописан реальный адрес и алиас
Код:
ifconfig_em0="inet x.y.z.7 netmask 255.255.255.0"
ifconfig_em0_alias0="x.y.z.3 netmask 255.255.255.255"
это сделано для того чтобы снаружи сервер был доступен по двум адресам - почтовому (mail.domain.ru соответствует x.y.z.7) и веб сервер (www.domain.ru соответствует x.y.z.3)
при этом изнутри должен работать прокси и NAT.
Суть проблемы.
при включенном IPFW нет доступа извне к веб серверу, но зато работает NAT
при отключенном IPFW все работает кроме NAT
сервисы запускаются через rc.conf
для простоты в IPFW все разрешено
Код:
add 90 divert 8668 ip from x.y.z.0/24 to any via em0
add 100 divert 8668 ip from any to x.y.z.7 via em0
add 65535 allow ip from any to any
1. NAT без IPFW как я понимаю не работает в моем случае, но как их развязать - не знаю
2. Как то перенаправить входящие подключения по 80 порту tcp снаружи на x.y.z.3, но при этом чтобы работали исходящие по 80 порту от squid тоже никак не соображу.
вариант с втыканием в сервер еще одного сетевого интерфейса работать наверняка будет, но сейчас невозможен