NAT & IPFW

Настройка сетевых служб, маршрутизации, фаерволлов. Проблемы с сетевым оборудованием.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
kleine
рядовой
Сообщения: 21
Зарегистрирован: 2007-09-20 9:37:45

NAT & IPFW

Непрочитанное сообщение kleine » 2007-09-24 21:50:27

Freebsd 6.2
Имеется 2 интерфейса: rl0-локальная сеть, tun0-инет
Сервер используется не только как gateway в интернет, но и как gateway в локалку.
Требуется натировать пакеты, адресованные и в инет и в локалку.
Локальная сеть: 10.0.0.0/8 и 192.168.0.0/16.
IP, выданный провайдером: a.b.c.d
Ну и вопрос: Как это реализовать?

Хостинговая компания 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/
Выделенные сервера, Россия, Москва, от 2460 рублей (8 CPU, 8Gb RAM, 2x500Gb HDD, RAID 3ware 9750):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

Dmitriy.A
ст. сержант
Сообщения: 383
Зарегистрирован: 2006-12-15 17:09:14
Откуда: Москва

Re: NAT & IPFW

Непрочитанное сообщение Dmitriy.A » 2007-09-24 22:46:12

Что то я не понял - локалку то нафига натить? Реализовать при помощи ipfw. По подробнее напиши с примерами (сервер 2 сетевухи, на одной ип такой то - на другой такой то) тогда напишу, а то с первого прочтения не понял что хочешь.

kleine
рядовой
Сообщения: 21
Зарегистрирован: 2007-09-20 9:37:45

Re: NAT & IPFW

Непрочитанное сообщение kleine » 2007-09-24 23:05:51

Сетевуха одна -- rl0 (10.1.0.1)
Второй интерфейс -- tun0 (pppoe c сервером, выдающим инет)(192.168.17.100)

1) Всё дело в том, что сервер выдаёт инет только этой машине (10.1.0.1)
Т.е интернет нужно натить.
2) Локалку тоже натить надо. По эстетическим причинам=)

kleine
рядовой
Сообщения: 21
Зарегистрирован: 2007-09-20 9:37:45

Re: NAT & IPFW

Непрочитанное сообщение kleine » 2007-09-24 23:07:49

Ах да.
Локалка 10.1.0.1/8
Нужно скрыть за натом 10.1.23.0/22 (этот сегмент не виден для других router'ов из локалки)

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: NAT & IPFW

Непрочитанное сообщение dikens3 » 2007-09-25 10:00:30

rc.conf

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

# Разрешаем Forwarding
gateway_enable="YES"
# PPPoE
ppp_enable="YES"
ppp_profile="Internet"
ppp_mode="ddial"
ppp_user="root"
ppp_nat="YES"
ppp.conf

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

default:

Internet:
    set log Phase tun command
    set device PPPoE:rl1
    set authname login
    set authkey password
    set mru 1492
    set mtu 1492
    enable lqr
    set lqrperiod 10
    enable lqr echo
    enable echo
    set dial
    set login
    set timeout 0
    set redial 0 0

# NAT
   nat enable yes
   nat log no
   nat same_ports yes
   nat unregistered_only yes
   nat deny_incoming yes
+ фаер
allow from any to any
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

APanyovin
мл. сержант
Сообщения: 79
Зарегистрирован: 2007-05-21 8:41:22

Re: NAT & IPFW

Непрочитанное сообщение APanyovin » 2007-10-04 12:17:15

а как для ng0
в примерах есть описание настроек, но у меня все глотается на 2 привале ната

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: NAT & IPFW

Непрочитанное сообщение dikens3 » 2007-10-04 13:32:17

APanyovin писал(а):а как для ng0
в примерах есть описание настроек, но у меня все глотается на 2 привале ната
Подробнее напиши что нужно.
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

APanyovin
мл. сержант
Сообщения: 79
Зарегистрирован: 2007-05-21 8:41:22

Re: NAT & IPFW

Непрочитанное сообщение APanyovin » 2007-10-04 14:41:48

ок
есть ipfw

/etc/rc.firewall

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

#!/bin/sh

FwCMD="/sbin/ipfw -q"

LanOut="ng0"
IpOut="ХХХ.ХХХ.ХХХ.ХХХ"


LanIn="xl0"
IpIn="192.168.1.5"
NetIn="192.168.1.0/24"
Ip_Lan="192.168.1"

VpnIf="ng1,ng2,ng3,ng4"

AllowTcpOutProtocols="80,443,25,110,21"
AllowInProtocols="22"

DNSList="80.82.32.9"

${FwCMD} -f flush
${FwCMD} -f pipe flush
${FwCMD} -f queue flush

${FwCMD} add allow 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 deny ip from ${NetIn} to any in via ${LanOut}
${FwCMD} add deny ip from ${NetOut} to any in via ${LanIn}

${FwCMD} add deny ip from any to 10.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 172.16.0.0/12 in via ${LanOut}
${FwCMD} add deny ip from any to 192.168.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 0.0.0.0/8 in via ${LanOut}
${FwCMD} add deny ip from any to 169.254.0.0/16 in via ${LanOut}
${FwCMD} add deny ip from any to 224.0.0.0/4 in via ${LanOut}
${FwCMD} add deny ip from any to 240.0.0.0/4 in via ${LanOut}
${FwCMD} add deny icmp from any to any frag
${FwCMD} add deny log icmp from any to 255.255.255.255 in via ${LanOut}
${FwCMD} add deny log icmp from any to 255.255.255.255 out via ${LanOut}

#${FwCMD} add fwd 127.0.0.1,3128 tcp from ${NetIn} to any 80 via ${LanOut}

${FwCMD} add divert natd ip from ${NetIn} to any out via ${LanOut}
${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}

${FwCMD} add deny ip from 10.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 172.16.0.0/12 to any out via ${LanOut}
${FwCMD} add deny ip from 192.168.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 0.0.0.0/8 to any out via ${LanOut}
${FwCMD} add deny ip from 169.254.0.0/16 to any out via ${LanOut}
${FwCMD} add deny ip from 224.0.0.0/4 to any out via ${LanOut}
${FwCMD} add deny ip from 240.0.0.0/4 to any out via ${LanOut}

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

${FwCMD} add allow ip from any to ${NetIn} in via ${LanIn}
${FwCMD} add allow ip from ${NetIn} to any out via ${LanIn}

${FwCMD} add allow tcp from any to any established

${FwCMD} add allow udp from any to ${IpOut} 53 in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} 53 to any out via ${LanOut}
${FwCMD} add allow udp from any 53 to ${IpOut} in via ${LanOut}
${FwCMD} add allow udp from ${IpOut} to any 53 out via ${LanOut}
${FwCMD} add allow udp from any to any 123 via ${LanOut}

${FwCMD} add allow tcp from any to ${IpOut} 53 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 80 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 20,21 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 25 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 22 in via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} 20,21 in via ${LanOut} setup

${FwCMD} add deny log tcp from any to ${IpOut} in via ${LanOut} setup

${FwCMD} add allow tcp from ${IpOut} to any out via ${LanOut} setup
${FwCMD} add allow tcp from any to ${IpOut} in via ${LanIn} setup

########### BEGIN USERS   ###############################

${FwCMD} add allow tcp from ${NetIn} to any 5190 in via ${LanIn} setup

${FwCMD} add allow tcp from ${Ip_Lan}.13 to not ${NetIn} in via ${LanIn} setup

############# END USERS #################################

${FwCMD} add deny ip from any to any
в rc.conf

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

# IPFW
firewall_enable="YES"
firewall_type="/etc/rc.firewall"
firewall_logging="YES"



# NAT
natd_enable="YES"
natd_interface="ng0"
natd_flags=" -m -u"
все проблема во втором правиле ната

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

${FwCMD} add divert natd ip from any to ${IpOut} in via ${LanOut}
оно ловит все пакеты на внешнем интерфейсе, где криво?
Последний раз редактировалось Alex Keda 2007-10-04 14:52:12, всего редактировалось 1 раз.
Причина: Товарищщи, юзайте кнопочку [code], цените чужое время...

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

Re: NAT & IPFW

Непрочитанное сообщение Alex Keda » 2007-10-04 14:52:39

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

APanyovin
мл. сержант
Сообщения: 79
Зарегистрирован: 2007-05-21 8:41:22

Re: NAT & IPFW

Непрочитанное сообщение APanyovin » 2007-10-04 15:00:22

сорри:)
исправлюсь!!

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: NAT & IPFW

Непрочитанное сообщение dikens3 » 2007-10-04 15:16:21

оно ловит все пакеты на внешнем интерфейсе, где криво?
Да, ловит все, а что не должно? Задача то в чём тогда?
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.

APanyovin
мл. сержант
Сообщения: 79
Зарегистрирован: 2007-05-21 8:41:22

Re: NAT & IPFW

Непрочитанное сообщение APanyovin » 2007-10-04 15:18:09

natd не хочет работать без интерфейса,

короче после загрузки mpd и поднятия интерфейса надо еще раз запустить natd -n "IF_NG"

всем спасибо!

Аватара пользователя
dikens3
подполковник
Сообщения: 4856
Зарегистрирован: 2006-09-06 16:24:08
Откуда: Нижний Новгород
Контактная информация:

Re: NAT & IPFW

Непрочитанное сообщение dikens3 » 2007-10-04 15:37:00

Тогда используй ключ -a
Там можно IP-Адрес написать. Если он постоянный. (Вместо указания интерфейса)
Лучше установить FreeBSD, чем потратить 30 лет на Linux'ы и выяснить какой из них хуже.