Страница 1 из 1

PF + nat

Добавлено: 2011-07-10 17:11:23
SoeR
Здравствуйте. Помогите новичку настроить nat через PF.

Имеется комп с 3-мя сетевухами:
rl1 - локалка 1, IP - 192.168.129.1
age0 - локалка 2, IP - 192.168.100.1
rl0 - смотрит в интернет. IP получает по DHCP - 10.31.54.169
ng0: - виртуальный интерфейс pppoe к провайдеру для подключения к интернету, получает IP 213.141.xxx.xxx

Компы из сетей 192.168.0.0 не видят сеть 10.0.0.0. Комп-шлюз прекрасно видит все сети. Вот netstat -rn с запущенным mpd (он выставляет сам дефолтный маршрут, в настройках включен nat).

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

Internet:
Destination        Gateway            Flags    Refs      Use  Netif Expire
default            212.1.254.124      UGS         0      769    ng0
10.0.0.0/8         10.31.32.1         UGS         0      103    rl0
10.31.32.0/19      link#2             U           0     5232    rl0
10.31.54.169       link#2             UHS         0        0    lo0
77.246.96.90/32    10.31.32.1         UGS         0        0    rl0
77.246.96.96/27    10.31.32.1         UGS         0        0    rl0
127.0.0.1          link#6             UH          0    17543    lo0
192.168.0.0/16     link#3             U           2  1903751    rl1
192.168.100.0/24   link#1             U           0    56428   age0
192.168.100.1      link#1             UHS         0        0    lo0
192.168.129.1      link#3             UHS         0        0    lo0
212.1.254.124      link#9             UH          0        0    ng0
213.141.ххх.ххх     link#9             UHS         0        0    lo0
233.49.170.0/24    10.31.54.169       US          0        0    rl0


Долго читал про нат и роутинг в pf, но так до конца не разобрался
Пробовал в конфиге pf писать разные бредовые правила ната и роутинга :). Вот они:

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

ext_if = "rl0"
int_if = "age0"
lo_if = "lo0"

ext_if_gw = "10.31.32.1"

nat on $int_if from $int_if to $ext_if -> 192.168.100.1

pass in log on 192.168.100.1 route-to ($ext_if $ext_if_gw) inet proto \
{tcp, udp, icmp} from $int_if to 10.0.0.0/0

pass in log on $ext_if reply-to ($ext_if $ext_if_gw) inet proto \
{tcp, udp, icmp} from 10.0.0.0/0 to $ext_if

Подскажите пожалуйста, что надо и куда натить/роутить, чтобы компы в сетях 192.168.0.0 увидели сеть 10.0.0.0?

Re: PF + nat

Добавлено: 2011-07-10 18:23:13
SoeR
Тему можно прикрыть. Всё оказалось очень просто.