FreeBSD 7.1 IPFW+NAT kernel

Проблемы установки, настройки и работы Правильной Операционной Системы

Модератор: terminus

Правила форума
Убедительная просьба юзать теги [cоde] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
zend
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-03-29 21:41:11
Откуда: Запорожье
Контактная информация:

FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение zend » 2009-03-29 22:24:13

С FreeBSD работаю недавно.
Собрал тестовую машину на VMware 6.5 - OC FreeBSD 7.1. На ней крутится MySQL+Apache+PHP+Squid+rejik=Proxy server+web морда, VPN server на базе mpd5. Все замечательно работает кроме NATa. Не могу настроить nat. Кто сталкивался с этим помогите разобраться. Сборка связок сервисов делалась по мотивам замечательной статьи http://www.lissyara.su/?id=1680.
В инете ничего внятного по поводу кернельного natа не нашел.
Заранее благодарен...

Хостинговая компания 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/

zg
полковник
Сообщения: 5845
Зарегистрирован: 2007-12-07 13:51:33
Откуда: Верх-Нейвинск

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение zg » 2009-03-29 22:41:32

zend писал(а):Все замечательно работает кроме NATa
эм.. чтобы нат проверить нужно создать виртуальную сеть, включить в неё другую виртуальную машину и пустить через первую. То есть нужно иметь как минимум две виртаульных машины в одной виртуальной (или физической) сети. Основную машину через виртуалку не пустить, потому как петля будет.

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение fox » 2009-03-30 2:09:07

Захади вот сюда, статья от fox:
http://forum.lissyara.su/viewtopic.php?f=8&t=16721
Да пребудет с нами сила!!!
Всех убью, один останусь!

zend
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-03-29 21:41:11
Откуда: Запорожье
Контактная информация:

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение zend » 2009-03-30 14:42:45

В чера было поздно спать хотелось - забыл добавить статью по которой сделан NAT и IPFW2 -> http://www.lissyara.su/?id=1680

zend
проходил мимо
Сообщения: 3
Зарегистрирован: 2009-03-29 21:41:11
Откуда: Запорожье
Контактная информация:

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение zend » 2009-03-30 15:01:30

За ссылки спасибо.
Смысл втом чтоб выпустить несколько машин в инет мимо проксика через нат ...

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение fox » 2009-03-30 22:22:39

просто, обойти прокчи?
так просто проскипй правела мимо fwd когда всех заварачивает...
Да пребудет с нами сила!!!
Всех убью, один останусь!

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение princeps » 2009-03-31 12:06:18

Конфиг фаервола выложи.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение fox » 2009-03-31 21:12:46

тебе нужен весь конфиг фаера?
Да пребудет с нами сила!!!
Всех убью, один останусь!

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение princeps » 2009-04-01 8:23:04

ну, можно без антиспуфинга и прочей безопасности. Чтоб внести ясность, так сказать, потому что из его постов не совсем понятно, что хочется иметь на выходе и какая там у него топология.
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение fox » 2009-04-01 21:22:28

конфиг ipfw:

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

#!/bin/sh

fwcmd="/sbin/ipfw"
#InetInterface
ifwan="vr0"
ipwan="1.2.3.4"
mswan="27"

#LocalLanInterface
iflan="re0"
iplan="192.168.216.216"
mslan="16"
netlan="192.168.216.0"

#HostControll

iflh="lo0"
iplh="127.0.0.1"
mslh="8"

#ports
spd="1987"
vpn_l2tp="1701"

#GAMES SERVER CS_1.6
gamesnetp="192.168.200.0/29 27015,27016,27017"
gahost="192.168.216.1"


${fwcmd} -f flush

${fwcmd} -f pipe flush

${fwcmd} -f queue flush

${fwcmd} -f table 0 flush
${fwcmd} -f table 69 flush

${fwcmd} add 10 check-state

${fwcmd} add 50 allow ip from any to any via ${iflh}

${fwcmd} add 100 deny ip from any to ${iplh}/${mslh}
${fwcmd} add 110 deny ip from ${iplh}/${mslh} to any

${fwcmd} add 200 deny ip from any to 10.0.0.0/8 in via ${ifwan}
${fwcmd} add 220 deny ip from any to 172.16.0.0/12 in via ${ifwan}
${fwcmd} add 230 deny ip from any to 192.168.0.0/16 in via ${ifwan}
${fwcmd} add 240 deny ip from any to 0.0.0.0/8 in via ${ifwan}
${fwcmd} add 250 deny ip from any to 169.254.0.0/16 in via ${ifwan}
${fwcmd} add 260 deny ip from any to 240.0.0.0/4 in via ${ifwan}

${fwcmd} add 270 deny icmp from any to any frag
${fwcmd} add 280 deny log icmp from any to 255.255.255.255 in via ${ifwan}
${fwcmd} add 290 deny log icmp from any to 255.255.255.255 out via ${ifwan}

${fwcmd} add 300 deny ip from "table(69)" to me

${fwcmd} add 333 deny not icmp from "table(0)" to me

${fwcmd} add 800 fwd 127.0.0.1, 3128 tcp from ${netlan}/${mslan} to any 80, 8080 out via ${ifwan}

#${fwcmd} add 900 divert 199 tcp from any to any 3128
#${fwcmd} add 950 divert 199 tcp from any 3128 to any

${fwcmd} add 1000 divert 199 ip from ${netlan}/${mslan} to any out xmit ${ifwan}

${fwcmd} add 1100 divert natd ip4 from ${netlan}/${mslan} to any out xmit ${ifwan}

${fwcmd} add 1200 divert natd ip4 from any to me in recv ${ifwan}

${fwcmd} add 1300 divert 199 ip from any to ${netlan}/${mslan} in recv ${ifwan}


${fwcmd} add 2100 deny ip from 10.0.0.0/8 to any out via ${ifwan}
${fwcmd} add 2110 deny ip from 172.16.0.0/12 to any out via ${ifwan}
${fwcmd} add 2120 deny ip from 192.168.0.0/24 to any out via ${ifwan}
${fwcmd} add 2130 deny ip from 0.0.0.0/8 to any out via ${ifwan}
${fwcmd} add 2140 deny ip from 169.254.0.0/16 to any out via ${ifwan}
${fwcmd} add 2150 deny ip from 240.0.0.0/4 to any out via ${ifwan}

${fwcmd} add 2500 allow tcp from any to any established

${fwcmd} add 2700 allow ip from ${ipwan} to any out xmit ${ifwan}

${fwcmd} add 2800 allow udp from any domain to any via ${ifwan}

${fwcmd} add 2850 allow udp from any to any domain via ${ifwan}

${fwcmd} add 2890 allow udp from any to any ntp via ${ifwan}

${fwcmd} add 3000 allow tcp from any to ${ipwan} 49152-65535 via ${ifwan}

${fwcmd} add 3100 allow icmp from any to any icmptypes 0,8,11

${fwcmd} add 3200 allow tcp from any to ${ipwan} 21,22,23,445,8080 via ${ifwan}

${fwcmd} add 3300 allow udp from any to ${ipwan} 1,7,9,69,513 via ${ifwan}

${fwcmd} add 3700 allow tcp from any to ${ipwan} http via ${ifwan}

${fwcmd} add 3800 allow tcp from any to ${ipwan} smtp via ${ifwan}

${fwcmd} add 3900 allow tcp from any to ${ipwan} pop3 via ${ifwan}

${fwcmd} add 4000 allow tcp from any to ${ipwan} ${spd} via ${ifwan}

${fwcmd} add 4100 allow udp from ${gamesnetp} to ${gahost} via ${ifwan}

${fwcmd} add 4200 allow udp from any to any ${vpn_l2tp} via ${ifwan}


${fwcmd} add 7000 allow tcp from any to any via ${iflan}

${fwcmd} add 7100 allow udp from any to any via ${iflan}

${fwcmd} add 7200 allow icmp from any to any via ${iflan}

${fwcmd} add 8000 allow all from any to any via vr1


${fwcmd} add 9000 allow gre from any to any

${fwcmd} add 9100 allow ip from any to any via ng0

${fwcmd} add 9200 allow ip from any to any via ng1

${fwcmd} add 9300 allow ip from any to any via ng2

${fwcmd} add 65500 deny all from any to any

Извини что поздно, у меня дипрессия моя девчока меня игнорирует(((
Последний раз редактировалось zg 2009-04-01 22:04:15, всего редактировалось 1 раз.
Причина: Люди добрые, слово извини происходит от слова вина, а не вена
Да пребудет с нами сила!!!
Всех убью, один останусь!

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение princeps » 2009-04-02 8:19:27

А у тебя тоже что-то не работает?
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

Аватара пользователя
fox
ст. лейтенант
Сообщения: 1154
Зарегистрирован: 2008-07-24 0:25:31
Откуда: Ukraine, Donetsk

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение fox » 2009-04-02 10:00:02

не у меня всё работает, я скинул конф как меня просили...
Да пребудет с нами сила!!!
Всех убью, один останусь!

princeps
майор
Сообщения: 2684
Зарегистрирован: 2007-09-25 10:20:59
Откуда: Сочи, Москва
Контактная информация:

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение princeps » 2009-04-03 8:54:29

Это я не тебя, это я тредстартера просил, чтоб понять, что он хочет и что не работает у него :) Однако спасибо за готовность помочь
Deus quos vult perdere dementat prius
http://www.itforum-sochi.ru

КиЧи
рядовой
Сообщения: 30
Зарегистрирован: 2009-03-31 7:47:01

Re: FreeBSD 7.1 IPFW+NAT kernel

Непрочитанное сообщение КиЧи » 2009-04-03 11:08:59

я делаю свой нат след. образом:
ставлю tcpmssd
из /usr/ports/net/tcpmssd
в ядро собираю с функцией IPDIVERT
и rc.conf`e добовляю строчку:

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

natd_flags="-unregistered_only -dynamic -a *.*.*.*(ip внешнего интерфейса)"
natd_enable="YES"
gateway_enable="YES"
в rc.firewall добовляю след. строки

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

/usr/local/bin/tcpmssd -p 10000 -m 1280
        setup_loopback
${fwcmd} add divert 10000 tcp from any to any

${fwcmd} add divert 8668 ip from any to any via rl1 (внешний интерфейс)

        ${fwcmd} add allow ip from any to 192.168.3.2 # само правило для NAT
        ${fwcmd} add allow ip from 192.168.3.2 to any 
всё NAT работает на 192.168.3.2