Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Общий по FreeBSD (http://forum.oszone.net/forumdisplay.php?f=10)
-   -   [решено] Проброс портов из FreeBSD через другой шлюз в сети в Интернет. (http://forum.oszone.net/showthread.php?t=208071)

Призрак 02-06-2011 07:47 1686863

Проброс портов из FreeBSD через другой шлюз в сети в Интернет.
 
Здравствуйте.

Для того, чтобы сделать суть проблемы более ясной приведу сетевые настройки компьютеров:

Компьютер №1 (операционная система Windows XP SP2) имеет 2 сетевые карты, INTERNET и LAN

INTERNET (смотрит в Интернет, через эту карту идет подключение из локальной сети (общий доступ к Интернету активирован в сетевых настройках)):
IP адрес: 195.19.17x.xxx (белый, выдан провайдером)
Маска: 255.255.255.0
Основной шлюз: 195.19.17x.x (выдан провайдером)
DNS сервер: 195.19.16x.xxx (выдан провайдером)

LAN (смотрит в локальную сеть)
IP адрес: 192.168.0.1
Маска: 255.255.255.0

Компьютер №2 (операционная система FreeBSD 8,2) имеет 1 сетевую карту rl0
IP адрес: 192.168.0.12
Маска: 255.255.255.0
Основной шлюз: 192.168.0.1 (через коммутатор к компьютеру №1 в сетевую карту LAN)
DNS сервер: 195.19.16x.xxx (выдан провайдером)

Интернет на Компьютере №2 работает (через Компьютер №1)

Задумал я поставить на Компьютер №2 transmission-daemon для скачивания файлов через torrent (очень удобно и быстро), но столкнулся с серьезной проблемой, которую мне не удается решить до сих пор - открытие порта 4444 для пиров (TCP Incoming Port). Причем если я перевожу компьютер на белый адрес (назначаю rl0 адрес 195.19.17x.xxx и пускаю в Интернет напрямую), то порт открыт и никаких проблем нету (правила IPFW приведу ниже). Но мне напрямую не надо а именно через Компьютер №1 и чтобы порт был открыт.

Я слышал, что порты нужно пробрасывать через natd. Но я также слышал, что для этого компьютер с FreeBSD должен быть шлюзом, и на нем должно быть два сетевых интерфейса (мой компьютер №2 шлюзом не является и интерфейс только один не считая loopback)

Также я пробовал перебросить порты через RINETD. Дохлый номер. Вот такая строчка в конфиге rinetd.conf только является корректной:

192.168.0.12 4444 192.168.0.1 4444

и все. Так что толку от rinetd 0, порт по прежнему закрыт. (или я что-то недопонимаю)

Хочу заметить, что подключение к Интернету прямое, безо всяких роутеров (от компьютера №1 напрямую к провайдеру)

Привожу текст из важных конфигурационных файлов:

firewall.conf

add allow ip from 127.0.0.0/8 to any via lo0
add allow ip from any to 127.0.0.0/8 via lo0
add allow tcp from me to any keep-state
add allow udp from me to any keep-state
add allow icmp from any to any keep-state
add allow tcp from any to me 22 keep-state
add allow tcp from any to me 80 keep-state
add allow tcp from any to me 9091 keep-state
add allow tcp from any to any 4444 keep-state
add allow udp from any 53 to any
add allow udp from any to any 53
add deny log ip from any to any

rc.conf (natd закомментирован)

apache22_enable="YES"
apache22_http_accept_enable="YES"
mysql_dbdir="/data/mysql"
mysql_enable="YES"firewall_enable="YES"
firewall_type="/etc/firewall.conf"
rinetd_enable="YES"
#natd_interface="rl0"
#natd_enable="YES"
#natd_flags="-f /etc/natd.conf"
transmission_enable="YES"
transmission_conf_dir="/usr/local/etc/transmission/"
transmission_download_dir="/data/system/"

Ядро (чтобы не засорять форум привел только самую важную информацию)

options IPFIREWALL
options IPFIREWALL_VERBOSE
options IPFIREWALL_VERBOSE_LIMIT=100
options IPFIREWALL_FORWARD
options IPDIVERT

Пожалуйста помогите разобраться, буду очень благодарен.

Telepuzik 02-06-2011 10:00 1686922

Цитата:

Цитата Призрак
Компьютер №1 (операционная система Windows XP SP2) имеет 2 сетевые карты, INTERNET и LAN »

Проброс портов Вам нужно настраивать на машине которая непосредственно смотрит в интернет, у Вас это машина с Windows XP. Если для организации доступа в интеренет с FreeBSD на WindowsXP Вы использовали ICS (Internet Connection Sharing - Общий доступ подключения к Интернету) то смотрите вот этот сайт для настройки проброса порта.

Призрак 02-06-2011 11:28 1686975

Telepuzik спасибо Вам огромное! Вы меня выручили, я бился с этой проблемой неделю, и сейчас порт открыт. Но для полного успокоения мне нужно решить еще одну проблему, по которой я в Интернете не нашел ничего. Дело в том, что при запуске transmission-daemon в лог вываливаются следующие ошибки:

Jun 2 13:13:06 testdopsfa transmission-daemon [1574] UDP Failed to set receive buffer: No buffer space avilable (tr-UDP.c:56)
Jun 2 13:13:06 testdopsfa transmission-daemon [1574] UDP Failed to set send buffer: No buffer space avilable (tr-UDP.c:62)
Jun 2 13:13:06 testdopsfa transmission-daemon [1574] UDP Failed to set receive buffer: requested 4194384, got 41600 (tr-UDP.c:75)
Jun 2 13:13:06 testdopsfa transmission-daemon [1574] UDP Failed to set send buffer: requested 1048576, got 9216 (tr-UDP.c:86)

Дополнительно появляется такая ошибка при загрузке "Tracker gave http response code 0 (no response)"

И еще мне нужно отключить отображение записей логов в консоли ttv0 после слова login, чтобы их не могли увидеть посторонние.

vadblm 02-06-2011 11:59 1686990

Цитата:

Цитата Призрак
И еще мне нужно отключить отображение записей логов в консоли ttv0 после слова login, чтобы их не могли увидеть посторонние. »

Закомментируйте в /etc/syslog.conf строчку
Код:

#*.err;kern.warning;auth.notice;mail.crit                /dev/console
или направьте вывод в файл, а не в консоль:
Код:

*.err;kern.warning;auth.notice;mail.crit        /var/log/console.log


Время: 20:07.

Время: 20:07.
© OSzone.net 2001-