IPTABLES NAT P2P DC++ Dirrect Connect
IPTABLES NAT P2P DC++ Dirrect Connect
Я уже заручался! В инете не только у меня одного такая бида и ответа не нашел!
Вопрос в следующем:
есть 2 сети - между ними NAT.
Как сделать нормальный проброс для DC++ с одной сети к хабам и пользователям другой.
Так как у меня - к хабам подключается ведет кое какой поиск(видимо шлюз как то режет udp) ни файлы ни файл листы пользователей вообще не качает.
Помогите сделать поиск как при прямом подключении и чтобы можно было качать файлы(в пасивном режиме тоже почемуто не качает)
1 сеть - городская; 2 сеть - стационарный компьютер, который пропускает через себя ноут(192.168.100.2)
Все мои правила - что не так?:
eth0(10.x.x.x) - смотрит в городскую сеть
eth1(192.168.100.1) - смотрит в домашнюю сеть
iptables -t nat -A POSTROUTING -s 192.168.100.0/16 -j MASQUERADE
iptables -I FORWARD -i eth0 -p udp --dport 16000 -j ACCEPT
iptables -I FORWARD -i eth0 -p tcp --dport 16000 -j ACCEPT
iptables -t nat -A PREROUTING -i eth0 -p tcp --dport 16000 -j DNAT --to-destination 192.168.100.2
iptables -t nat -A PREROUTING -i eth0 -p udp --dport 16000 -j DNAT --to-destination 192.168.100.2
Что не так и что исправить подскажите пожалуйста!
- Для комментирования войдите или зарегистрируйтесь
нужно всегда
нужно всегда помнить, что цепочку FORWARD пакеты проходят с двух сторон,
iptables -I FORWARD -o eth0 -p udp --sport 16000 -j ACCEPT
iptables -I FORWARD -o eth0 -p tcp --sport 16000 -j ACCEPT
Главное не забыть mount /dev/hands
У меня так работает
iptables -t nat -A PREROUTING -p tcp -d $if_eth1 --dport 60000 -j DNAT --to 10.10.1.11:60000
iptables -t nat -A PREROUTING -p udp -d $if_eth1 --dport 60000 -j DNAT --to 10.10.1.11:60000
$if_eth1 - интерфейс на который приходят пакеты (из DC++ сети)
10.10.1.11:60000 - локальный адрес и порт на котором DC++ клиент должен принимать соединения.
Сделал так
iptables -t nat -A PREROUTING --dst 10.10.1.15 -p tcp --dport 60000 -j DNAT --to-destination 192.168.100.2
iptables -t nat -A PREROUTING --dst 10.10.1.15 -p udp --dport 60000 -j DNAT --to-destination 192.168.100.2
eth0=10.10.1.15
eth1=192.168.100.1
На ноуте 10.101.100.2
На ноуте в DC++ выставил:
брандмауэр с ручным перенаправлением портов
Внешний WAN IP 10.10.1.15
TCP 60000
UDP 60000
TLS 60000
Все хабы во внешней сети. Ничего не работает :(
П.С Я так понимаю до этого работало через маскарадинг я его пока вообще удалил чтобы с этим разобраться.
Почти разобрался
Итак
iptables -t nat -A PREROUTING --dst 10.10.1.15 -p tcp --dport 60000 -j DNAT --to-destination 192.168.100.2
iptables -t nat -A PREROUTING --dst 10.10.1.15 -p udp --dport 60000 -j DNAT --to-destination 192.168.100.2
iptables -t nat -A POSTROUTING -p tcp -o eth0 -j SNAT --to-source 10.10.1.15
iptables -t nat -A POSTROUTING -p udp -o eth0 -j SNAT --to-source 10.10.1.15
iptables -t nat -A POSTROUTING -j MASQUERADE
Так все работает на 3+ :).
Закачка/Скачка файлов, чат работают хорошо. Но вот поиск при прямом подключении при поиске например "2007" - выдает тысячи результатов, а при таком - всего до 2 сотен.
Где то я читал, что по умолчанию в линуксе стоит 5 udp пакетов в секунду(может число больше пяти...), остальные дропаются.
Где можно выставить чтобы удп не дропало или куда деваются пакеты?