ipfw и kernel nat

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
Abigor
старшина
Сообщения: 425
Зарегистрирован: 2006-03-02 11:13:15
Откуда: РФ. г. Иркутск
Контактная информация:

ipfw и kernel nat

Непрочитанное сообщение Abigor » 2010-01-10 6:15:28

Всех с прошедшим НГ!
Вопрос в следующем, собираю сервер для филиала. И просто попробовать негде на данный момент :) Необходимо сделать kernel nat подскажите как вам листинг?
Задачи следующие. Нужно через нат дать сети доступ на одни tcp порт. Пробросить в сеть два tcp порта и при этом ограничить с какого ip можно стучать на эти поты.
Пока родил только это.

Код: Выделить всё

#!/bin/sh

fwcmd="/sbin/ipfw -q"

ext_if="em0"
int_if="vr0"

local_lan="192.168.1.0/24"
extnet_ip="1.2.3.4"

${fwcmd} -f flush

${fwcmd} nat 1 config log if ${ext_if} reset same_ports deny_in redirect_port tcp 192.168.1.100:4899 ${extnet_ip}:7573
${fwcmd} add nat 1 tcp from 2.2.2.2 to ${extnet_ip} 7573 via ${ext_if}
${fwcmd} add nat 1 tcp from 192.168.1.100 4899 to any via ${ext_if}

${fwcmd} nat 2 config log if ${ext_if} reset same_ports deny_in redirect_port tcp 192.168.1.100:3389${extnet_ip}:7574
${fwcmd} add nat 2 tcp from 3.3.3.3 to ${extnet_ip} 7574 via ${ext_if}
${fwcmd} add nat 2 tcp from 192.168.1.100 3389 to any via ${ext_if}

${fwcmd} add nat 3 tcp from ${local_lan} to any 80 out via $ext_if

${fwcmd} add pass ip from any to any via lo0
${fwcmd} add deny ip from any to 127.0.0.0/8
${fwcmd} add deny ip from 127.0.0.0/8 to any

${fwcmd} add pass tcp from any to me 22 in setup keep-state

${fwcmd} add 65534 deny log logamount 0 all from any to any
То есть по идеи должен заработать редирект двух портов с внешнего ip на один внутренний 192.168.1.100, доступ по ssh на все интерфейсы и по нату выпустить сеть только на 80 порт.
С ipfw уже просто давно не работал, больше на pf сижу. Только вот для тех поддержки филиала хотят именно ipfw, а ехать потом допиливать конфиг в другой город не хочется. Да и попробовать негде. По этому прошу подсказать чего еще надо для счастья
#--- info
freebsd 8.0 i386
две сетевые, в локалку и на провайдера

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Аватара пользователя
Alex Keda
стреляли...
Сообщения: 35402
Зарегистрирован: 2004-10-18 14:25:19
Откуда: Made in USSR
Контактная информация:

Re: ipfw и kernel nat

Непрочитанное сообщение Alex Keda » 2010-02-28 20:17:17

делайте на том что умеете.
Убей их всех! Бог потом рассортирует...

Аватара пользователя
Abigor
старшина
Сообщения: 425
Зарегистрирован: 2006-03-02 11:13:15
Откуда: РФ. г. Иркутск
Контактная информация:

Re: ipfw и kernel nat

Непрочитанное сообщение Abigor » 2010-03-01 3:42:20

Лис, ты как всегда. Понятно что пришлось сделать просто на ipfw и natd