Исходные данные:
сервер с OS FreeBSD 6.3 должен работать как шлюз меджу ЛВС и интернет со следующими сервисами:squid
apache
natd
ipfwpostfix
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 тоже никак не соображу.вариант с втыканием в сервер еще одного сетевого интерфейса работать наверняка будет, но сейчас невозможен
>[оверквотинг удален]
>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.
>...
>Код:
>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
>
>Читать man natd на предмет опций -unregistered_only, -alias_address и добавить их в rc.conf.
Дальше при необходимости - подкрутить ipfw и разрулить отправку в natd только трафика от локальных пользователей, которые идут в интернет.
>[оверквотинг удален]
>1. NAT без IPFW как я понимаю не работает в моем случае,
>но как их развязать - не знаю
>2. Как то перенаправить входящие подключения по 80 порту tcp снаружи на
>x.y.z.3, но при этом чтобы работали исходящие по 80 порту от
>squid тоже никак не соображу.
>
>вариант с втыканием в сервер еще одного сетевого интерфейса работать наверняка будет,
>но сейчас невозможен
>
>Попробуй так
rc.conf
natd_enable="YES"
natd_interface="x.y.z.3 "В IPFW
divert 8668 ip4 from any to any via x.y.z.3