прочитал, в чем проблема не понял.
Приветствую!
Неверю!
Что никто не сталкивался с описанной ниже проблемой...
Есть:
1 - Премиум с прошивкой Олега
2 - Локалка - 10.х.х.х
3 - Мой локальный адрес - 10.1.16.43
3.1 - Настройки и параметры локалки устанавливаются на роутер автоматом, от прова.(Auto)
4 - Мой внешний адрес - 84.204.х.х
4.1 - Настраиваю руками (StaticIP)
(Вариант 3 и 4 естессно могут работать только порознь.)
Привязка по МАС адресу.
Ситуация:
Сейчас, роутер настроен руками, и я могу попасть на внутренний сервер(комп).
Все настроено и чудно работает.
и Даже локальные ресурсы нормально доступны.
Есть проблема ТОЛЬКО с клиентом DC++ для хаба локальной сети.
В частности, ЛОКАЛЬНЫЙ траффик идет со скоростью моего интернет подключения, т.к. ШЛЮЗ естессно стоит внешний.
Если поставить настройки "Автомат", т.е. с получением внутреннего IP
ЛОКАЛЬНЫЕ ресурсы на 100Мб\с как и положено.
Клиент DC++ летает!!
НО я естессно ничего "снаружи" не могу...
Надо:
1 - Настроить роутер, чтобы иметь внешний IP и иметь доступ извне.
2 - Заставить трафик DC++ клиента ходить в локальной сети не через инет шлюз по полной ширине локалки.
Админы сети "на короткой ноге" и со мной и с линухой (все ядро сети на ней), но они не знают обрезанного линуха нашей прошивки...
Если, что можно (нужно) подправить глобально - обсуждаемо, изучаемо и применяемо...
Надеюсь на помощь...
С уважением...
Last edited by usmailer™; 07-02-2008 at 11:39.
С уважением,
Плохой Санта
прочитал, в чем проблема не понял.
vim имеет два режима - бибикать и все портить (с) не мое
Надо назначить WAN порту ДВА IP адреса Один внутренний, второй внешний
Причем роутер должен видеться из инета и одновременно траффик локальной
сети не шел через внешний шлюз для инета (на котором далеко не 100Мб)
Так доступнее? как собсно поднять второй IP адрес на WAN написано в FAQ и все получается..
Но если вторым делаю внешний адрес, то я не могу попасть извне... зато локалка летает на всю..
А если вторым поставить внутренний адрес локалки, то трафф попадает на внешний шлюз и скорости локальной сети мне невидать...
Есть подозрение на маршруты внутри самого роутера, между назначенными мною адресами...
Подскажите, как правильно написать маршруты для любого варианта..
И вообще, в них ли дело? вопрос все еще актуален
Last edited by Omega; 24-02-2013 at 20:34. Reason: 2 posts merged
С уважением,
Плохой Санта
я решил проблему с помощью пакета noip2
У меня такая же ситуация.
В линуксе новичок, но с помощью форума из разных кусков скомпилил вот такие конфиги:
post-firewall:
Роутер через Веб-интерфейс настроен на IP и шлюз по умолчанию в публичной сети. Локальный IP добавляется командой "ip addr add", маска - "/22" (не забудьте сменить если у вас другая). Маршруты в другие локальные IP подсети провайдера прописываются командами "route add -net".Code:#!/bin/sh PUB_DC="89.x.x.x" PRIV_DC="172.x.x.x" EXT_PUB_IP="89.x.x.x" EXT_IFACE="vlan1" EXT_PRIV_IP="10.x.x.x" GW_PRIV_LAN="10.x.x.x" ip addr add $EXT_PRIV_IP/22 dev $EXT_IFACE route add -net 10.192.32.0 netmask 255.255.248.0 gw $GW_PRIV_LAN route add -net 10.192.0.0 netmask 255.255.248.0 gw $GW_PRIV_LAN route add -net 10.2.0.0 netmask 255.255.252.0 gw $GW_PRIV_LAN route add -net 172.16.0.0 netmask 255.240.0.0 gw $GW_PRIV_LAN route add -net $PUB_DC netmask 255.255.255.255 gw $GW_PRIV_LAN # for DC++ # iptables -t nat -A POSTROUTING -d 10.0.0.0/8 -j SNAT --to-source $EXT_PRIV_IP iptables -t nat -A POSTROUTING -d 172.16.0.0/12 -j SNAT --to-source $EXT_PRIV_IP iptables -t nat -A POSTROUTING -d $PUB_DC -j SNAT --to-source $EXT_PRIV_IP DCPP_TCP_PORT=2660 DCPP_UDP_PORT=5070 DCPP_TLS_PORT=13111 DCPP_HOST="192.168.91.11" iptables -t nat -I PREROUTING -p tcp --dport $DCPP_TCP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_UDP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_TLS_PORT -j DNAT --to $DCPP_ iptables -I SECURITY -p udp --dport $DCPP_UDP_PORT -j RETURN
PUB_DC и PRIV_DC - это 2 DC хаба провайдера
EXT_PUB_IP и EXT_PRIV_IP - публичный и локальный IP моего роутера соответственно. GW_PRIV_LAN - шлюз по умолчаний в моей локальной сети.
DCPP_HOST - адрес компа за роутером, на котором запущен DC клиент.
DCPP_TCP_PORT, DCPP_UDP_PORT, DCPP_TLS_PORT - порты этого клиента
Вот. Все работает. Снаружи залезаю к себе через внешний IP и одновременно работаю с ресурсами локалки изнутри через внутренний IP...
ЗЫ. Если кто обнаружит куски своих конфигов в моем, примите мою благодарность за помощь
спасибо за отклик..
вот что я сделал:
mkdir -p /usr/local/sbin
cd /usr/local/sbin
echo
в post-firewallCode:"#!/bin/sh PUB_DC="84.204.х.х" PRIV_DC="10.0.0.3" EXT_PUB_IP="84.204.х.х" EXT_IFACE="vlan1" EXT_PRIV_IP="10.1.16.43" GW_PRIV_LAN="10.0.0.1" ip addr add $EXT_PRIV_IP/22 dev $EXT_IFACE route add -net 10.0.0.0 netmask 255.0.0.0 gw $GW_PRIV_LAN route add -net $PUB_DC netmask 255.255.255.192 gw $GW_PRIV_LAN # for DC++ # iptables -t nat -A POSTROUTING -d 10.0.0.0/8 -j SNAT --to-source $EXT_PRIV_IP iptables -t nat -A POSTROUTING -d $PUB_DC -j SNAT --to-source $EXT_PRIV_IP DCPP_TCP_PORT=2660 DCPP_UDP_PORT=5070 DCPP_TLS_PORT=13111 DCPP_HOST="10.0.0.3" iptables -t nat -I PREROUTING -p tcp --dport $DCPP_TCP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_UDP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_TLS_PORT -j DNAT --to $DCPP_ iptables -I SECURITY -p udp --dport $DCPP_UDP_PORT -j RETURN"
chmod +x ./post-firewall
flashfs save && flashfs commit && flashfs enable
reboot
где:
1 - Как я понял - PUB_DC="84.204.х.х" - внешний ип моего хаба
2 - Смущает во здесь ip addr add $EXT_PRIV_IP/22 dev $EXT_IFACE - выделенное 22 - это какой то критичный момент или общее значение???
3 - route add -net $PUB_DC netmask 255.255.255.192 gw $GW_PRIV_LAN - это маска для моего внешнего IP ?
и 4 - что то надо отдельно делать с портами, указанными выше и с еще что либо с самим роутером?
Итог:
Доступ есть извне - т.к. руками в веб морде я прописал свои ВНЕШНИЕ данные
До хаба - ДАЖЕ НЕ ДОСТУЧАТЬСЯ и в пассиве...
С уважением,
Плохой Санта
1. Оставьте себе только PRIV_DC, впишите в него адрес DC хаба провайдера. Просто в моем примере адреса 2х DC хабов прова. Все строки с $PUB_DC уберите.
2. Критичный момент. Это маска локальной сети провайдера. У меня 255.255.252.0 , поэтому пишу /22 (сокращенная запись обозначающая кол-во единиц в двоичной нотации числа 255.255.252.0). Если у вас маска локалки прова - 255.0.0.0, то будет /8
3. Уберите эту строчку. У вас DC хаб провайдера один и он во внутренней сети (его адрес начиначется с 10.). См. также п1
4. Давайте сначала с остальным разберемся. Я вроде ничего больше не делал и у меня все работает. Порты 2660, 5070, 13111 вы же прописали на DC++ клиенте?
Еще, кстати DCPP_HOST - это адрес компьютера, на котором крутится DC клиент. Вы его правильно указали? Хорошо бы увидеть результат "ip addr" на вашем роутере. А то чего-то у вас DCPP_HOST == PRIV_DC ...
usmailer™ У вас должно получится что-то вроде такого:
только DCPP_HOST неправильный...Code:#!/bin/sh EXT_IFACE="vlan1" EXT_PRIV_IP="10.1.16.43" GW_PRIV_LAN="10.0.0.1" ip addr add $EXT_PRIV_IP/8 dev $EXT_IFACE # for DC++ # iptables -t nat -A POSTROUTING -d 10.0.0.0/8 -j SNAT --to-source $EXT_PRIV_IP DCPP_TCP_PORT=2660 DCPP_UDP_PORT=5070 DCPP_TLS_PORT=13111 DCPP_HOST="10.0.0.3" iptables -t nat -I PREROUTING -p tcp --dport $DCPP_TCP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_UDP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_TLS_PORT -j DNAT --to $DCPP_ iptables -I SECURITY -p udp --dport $DCPP_UDP_PORT -j RETURN
И этот вариант подразумевает что нужные вам локальные ресурсы провайдера (DC++ хаб например) и ваш
"EXT_PRIV_IP="10.1.16.43"" находятся в одной IP подсети (в этом случае "route add -net" не нужны)
Last edited by Omega; 24-02-2013 at 20:38. Reason: 2 posts merged
спасибо!
ничего увы не получается....
видимо моя ошибка, каюсь...
я не сообщил, что клиент хаба стоит на моем локальном сервере с адресом 192.168.1.7
и в этом я вижу всю загвоздку...
и еще - какой IP ставить в клиенте ??
внешний или внутренний?
С уважением,
Плохой Санта
и какой у вас получился post-firewall в результате?
В клиенте DC++ ставить IP 10.1.16.43 (IP вашего роутера смотрящий в локальную сеть прова)
а получилось от что:Code:[usmailer@(none) root]$ ip addr 1: lo: <LOOPBACK,MULTICAST,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo inet6 ::1/128 scope host 2: sit0@NONE: <NOARP> mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 5: vlan0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 6: vlan1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet 84.204.х.х/26 brd 84.204.х.х scope global vlan1 inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 7: br0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global br0 inet6 fe80::218:f3ff:fe6b:38bf/10 scope link [usmailer@(none) root]$
Code:#!/bin/sh EXT_IFACE="vlan1" EXT_PRIV_IP="10.1.16.43" GW_PRIV_LAN="10.0.0.1" ip addr add $EXT_PRIV_IP/8 dev $EXT_IFACE # for DC++ # iptables -t nat -A POSTROUTING -d 10.0.0.0/8 -j SNAT --to-source $EXT_PRIV_IP DCPP_TCP_PORT=2660 DCPP_UDP_PORT=5070 DCPP_TLS_PORT=13111 DCPP_HOST="192.168.1.7" iptables -t nat -I PREROUTING -p tcp --dport $DCPP_TCP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_UDP_PORT -j DNAT --to $DCPP_ iptables -t nat -I PREROUTING -p udp --dport $DCPP_TLS_PORT -j DNAT --to $DCPP_ iptables -I SECURITY -p udp --dport $DCPP_UDP_PORT -j RETURN
Last edited by usmailer™; 11-02-2008 at 21:41.
С уважением,
Плохой Санта
А, после применения вашего post-firewall что выдает команда "tracert <IP адрес DC++ хаба провайдера>" ? Команду нужно выполнить на вашем компе под виндами
Виноват, неправильно сказал про "ip addr". Я хотел посмотреть на результат этой команды, чтоб узнать какие параметры (маска, шлюз) локальной сети вы получаете от прова ("3.1 - Настройки и параметры локалки устанавливаются на роутер автоматом, от прова.(Auto)")
Просто ни разу не встречал, чтоб делали сеть 10.0.0.0/255.0.0.0 Хотя конечно и такое возможно. Поэтому настройте, плз, получение автоматом параметров локалки на роутере и покажите чего выдал "ip addr".
вот только не поймупочему
$DCPP_
я же писал в хаутушке
$DCPP_HOST
vim имеет два режима - бибикать и все портить (с) не мое
вот с настроками от прова
Code:[usmailer@(none) root]$ ip addr 1: lo: <LOOPBACK,MULTICAST,UP> mtu 16436 qdisc noqueue link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 brd 127.255.255.255 scope host lo inet6 ::1/128 scope host 2: sit0@NONE: <NOARP> mtu 1480 qdisc noop link/sit 0.0.0.0 brd 0.0.0.0 3: eth0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 4: eth1: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc pfifo_fast qlen 100 link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 5: vlan0: <BROADCAST,MULTICAST,PROMISC,UP> mtu 1500 qdisc noqueue link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 6: vlan1: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet 10.1.16.43/8 brd 10.255.255.255 scope global vlan1 inet6 fe80::218:f3ff:fe6b:38bf/10 scope link 7: br0: <BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue link/ether 00:18:f3:6b:38:bf brd ff:ff:ff:ff:ff:ff inet 192.168.1.1/24 brd 192.168.1.255 scope global br0 inet6 fe80::218:f3ff:fe6b:38bf/10 scope link
С уважением,
Плохой Санта
Форум в теге CODE обрезает видимо, а не переносит
А вот если вот так попробовать записать...
"iptables -t nat -I PREROUTING -p tcp --dport $DCPP_TCP_PORT -j DNAT --to $DCPP_HOST"
"iptables -t nat -I PREROUTING -p udp --dport $DCPP_UDP_PORT -j DNAT --to $DCPP_HOST"
"iptables -t nat -I PREROUTING -p udp --dport $DCPP_TLS_PORT -j DNAT --to $DCPP_HOST"
Так не обрезает...
Да у вас локалка 10.0.0.0/8 (ужос )
Тогда да, ваш post-firewall должен работать.
Обратите внимание на замечание angel_il. Настраивайте публичный IP через web интерфейс и применяйте свой post-firewall.
После этого "tracert <IP адрес DC++ хаба провайдера>" с компа за роутером должен показать, что пакеты не проходят через публичную сеть, а идут сразу в локалку прова.
Настраивайте на компе клиента DC++ (порты, IP) и в путь...
Last edited by Omega; 24-02-2013 at 20:39. Reason: 2 posts merged
НИЗКИЙ ПОКЛОН И УВАЖУХА ЗА ТЕРПЕНИЕ И РЕЗУЛЬТАТ!!!
Счастье есть...
Все получилось!
Вот что в post-firewall:
Code:#!/bin/sh EXT_IFACE="vlan1" EXT_PRIV_IP="10.1.16.43" GW_PRIV_LAN="10.0.0.1" ip addr add $EXT_PRIV_IP/8 dev $EXT_IFACE # for DC++ # iptables -t nat -A POSTROUTING -d 10.0.0.0/8 -j SNAT --to-source $EXT_PRIV_IP DCPP_TCP_PORT=5759 DCPP_UDP_PORT=6975 DCPP_TLS_PORT=13111 DCPP_HOST="192.168.1.7" iptables -t nat -I PREROUTING -p tcp --dport $DCPP_TCP_PORT -j DNAT --to $DCPP_HOST iptables -t nat -I PREROUTING -p udp --dport $DCPP_UDP_PORT -j DNAT --to $DCPP_HOST iptables -t nat -I PREROUTING -p udp --dport $DCPP_TLS_PORT -j DNAT --to $DCPP_HOST iptables -I SECURITY -p udp --dport $DCPP_UDP_PORT -j RETURN
ну что же.. я должник...
С уважением,
Плохой Санта