URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 66436
[ Назад ]

Исходное сообщение
"PF +  NAT"

Отправлено Ka3aK , 21-Май-06 22:53 
Добрый день
Излазил мануал по pf ... так и не понял... возможно ли

192.168.168.1 --  (server              ) ---  (tun0) 1 линк в интернет
192.168.168.2 --  (s ip 192.168.168.100) ---  (tun1) 2 линк в интернет

сделать так, чтобы адрес 192.168.168.1 натился на 1 шлюз (tun0)
а адрес 192.168.168.2 на 2 ой (tun1)

nat pass on tun0 from 192.168.168.1 to any -> tun0   (tun0 и tun1 разные сети)
nat pass on tun1 from 192.168.168.2 to any -> tun1

дефаулт гейтвей адрес tun0

а как быть с tun1 ума не приложу, думал
rdr on $int_if inet from 192.168.168.2 to any -> tun1

но чего-то не то...


Содержание

Сообщения в этом обсуждении
"PF +  NAT"
Отправлено Ka3aK , 21-Май-06 23:13 
>Добрый день
>Излазил мануал по pf ... так и не понял... возможно ли
>
>192.168.168.1 --  (server        
>     ) ---  (tun0) 1 линк
>в интернет
>192.168.168.2 --  (s ip 192.168.168.100) ---  (tun1) 2 линк в
>интернет
>
>сделать так, чтобы адрес 192.168.168.1 натился на 1 шлюз (tun0)
>а адрес 192.168.168.2 на 2 ой (tun1)
>
>nat pass on tun0 from 192.168.168.1 to any -> tun0   (tun0 и tun1 разные сети)
>nat pass on tun1 from 192.168.168.2 to any -> tun1
>
>дефаулт гейтвей адрес tun0
>
>а как быть с tun1 ума не приложу, думал
>rdr on $int_if inet from 192.168.168.2 to any -> tun1
>
>но чего-то не то...

нашел метод решения в мануале..... плохо видать смотрел :-/

http://www.openbsd.org/faq/pf/pools.html - ссылка...

вот только на этот раз задался вопросом, как вычислить ip в тунеле на стороне провайдера,
а то в явную прописывать ip при том, что адреса не статические... не красиво :-/


"PF +  NAT"
Отправлено Ka3aK , 22-Май-06 01:17 
>>Добрый день
>>Излазил мануал по pf ... так и не понял... возможно ли
>>
>>192.168.168.1 --  (server        
>>     ) ---  (tun0) 1 линк
>>в интернет
>>192.168.168.2 --  (s ip 192.168.168.100) ---  (tun1) 2 линк в
>>интернет
>>
>>сделать так, чтобы адрес 192.168.168.1 натился на 1 шлюз (tun0)
>>а адрес 192.168.168.2 на 2 ой (tun1)
>>
>>nat pass on tun0 from 192.168.168.1 to any -> tun0   (tun0 и tun1 разные сети)
>>nat pass on tun1 from 192.168.168.2 to any -> tun1
>>
>>дефаулт гейтвей адрес tun0
>>
>>а как быть с tun1 ума не приложу, думал
>>rdr on $int_if inet from 192.168.168.2 to any -> tun1
>>
>>но чего-то не то...
>
>нашел метод решения в мануале..... плохо видать смотрел :-/
>
>http://www.openbsd.org/faq/pf/pools.html - ссылка...
>
>вот только на этот раз задался вопросом, как вычислить ip в тунеле
>на стороне провайдера,
>а то в явную прописывать ip при том, что адреса не статические...
>не красиво :-/


ну и это решилось... вот таким вот заворотом :)
ifconfig | grep inet | awk '{print $4}' | tail -n 2|head -1 > ip1
ifconfig | grep inet | awk '{print $4}' | tail -n 1 > ip2

после чего
table <ext_gw1> persist file "/home/user/ip1"
table <ext_gw2> persist file "/home/user/ip2"
.......

П.С  если кто предложет иные идеи... буду рад, т.к тот, что имею сейчас.. ну.... несовсем красив... хотя, главное чтобы работало :)