PDA

Показать полную графическую версию : [решено] Проброс портов из FreeBSD через другой шлюз в сети в Интернет.


Призрак
02-06-2011, 07:47
Здравствуйте.

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

Компьютер №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
Компьютер №1 (операционная система Windows XP SP2) имеет 2 сетевые карты, INTERNET и LAN »
Проброс портов Вам нужно настраивать на машине которая непосредственно смотрит в интернет, у Вас это машина с Windows XP. Если для организации доступа в интеренет с FreeBSD на WindowsXP Вы использовали ICS (Internet Connection Sharing - Общий доступ подключения к Интернету) то смотрите вот этот сайт (http://www.smart-soft.ru/faqitem.asp?faq=adm&number=11) для настройки проброса порта.

Призрак
02-06-2011, 11:28
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
И еще мне нужно отключить отображение записей логов в консоли 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




© OSzone.net 2001-2012