Есть следующая проблема и никак мне не приходит в голову ее решение:
есть rl1 в инет, rl0 в сеть, диапазон внешних ip 64.1.2.0/24
Вопрос первый - всем клиентам выделять внешние адреса, и чтобы их компы были доступны из инета, включая все порты. Т.е., чтобы всеп клиенты могли пользоваться программами типа emule, httpd, ftpd, telnetd и т.д.
Вопрос второй - только некоторым клиентам пробрасывать соединение, скажем на конкретный порт типа 80,21, но я знаю только как пробросить на один ип. А как пробросить соединение на 80 порт адресов 64.1.2.1 64.1.2.2 64.1.2.3 64.1.2.4? В данный момент выделяю клиентам внешний адрес, но из инета их компы не доступны, все серверные приложения на их компах также./etc/natd.conf
interface rl1
use_sockets yes
same_ports yes
redirect_address 192.168.1.1 64.1.2.1
redirect_address 192.168.1.5 64.1.2.5/etc/rc.firewall
/sbin/ipfw add 98 divert natd all from 192.168.1.0/24 to not 192.168.1.0/24 out via rl1
/sbin/ipfw add 99 divert natd all from any to 64.1.2.0/24 in via rl1
Как вариант.
Роутер провайдера - 64.1.2.1/24 (broadcast 64.1.2.255)
rl1 - 64.1.2.2/30 (broadcast 64.1.2.3)
rl0 - 64.1.2.3/24 (broadcast 64.1.2.255)
Локальные клиенты - 64.1.2.4-254/24
Включить proxy_arp на FreeBSD. На нем же настроить необходимые правила файерволла. Редирект в данном случае вообще не нужен.
Адрес 64.1.2.3 будет доступен локальным клиентам, но из Интернета - нет.
Хороший вариант, но уж очень опасный, все клиенты доступны из мира. Какие альтернативы?
>Хороший вариант, но уж очень опасный, все клиенты доступны из мира. Какие
>альтернативы?А файерволл для чего?