Bekijk de volledige versie : Помогите прокинуть порт
Имеется один wan интерфейс, на котором висят два айпишника.
vlan1 Link encap:Ethernet HWaddr 00:22:15:5A:95:71
inet addr:83.234.ххх.ххх Bcast:83.234.ххх.ххх Mask:255.255.255.0
и
vlan1:0 Link encap:Ethernet HWaddr 00:22:15:5A:95:71
inet addr:10.0.24.ххх Bcast:10.0.24.0 Mask:255.255.254.0
Делал это скриптом, выловленным через поиск на этом форуме. Выглядит он так:
#!/bin/sh
ifconfig vlan1:0 10.0.24.ххх netmask 255.255.254.0 broadcast 10.0.24.0/23
#route add 10.0.24.1 dev vlan1:0
route add -net 10.0.0.0 netmask 255.0.0.0 gw 10.0.24.1 dev vlan1:0
iptables -t nat -A PREROUTING -d 10.0.24.107 -j VSERVER
iptables -t nat -I POSTROUTING 1 -o vlan1 -j MASQUERADE
Внимание вопрос.
Как настроить port forwarding таким образом, чтобы при обращении на 83.234.ххх:666 он шел на 192.168.1.2:777, а при обращении на 10.0.24.ххх:666 --- 192.168.1.2:888? При этом желательно, что-бы все настроенное через web инетрфейс не слетало. :confused:
Во-первых, у вас ошибка:
ifconfig vlan1:0 10.0.24.ххх netmask 255.255.254.0 broadcast 10.0.24.0/23
Так нельзя писать. Там должен быть адрес 10.0.25.255 (наберите "ipcalc -b 10.0.24.0/23" или "ipcalc -b 10.0.24.0 255.255.254.0" для проверки).
Во-вторых, настройку iptables обычно делают из скрипта post-firewall, а у вас, похоже, всё в post-boot загнано.
Далее, если вы хотите, чтобы все правила, прописанные в веб-интерфейсе, работали для обоих адресов (на vlan1 и на vlan1:0) одинаково, за исключением 10.0.24.ххх:666, то пропишите ещё (предполагая, что это для TCP)
iptables -t nat -I PREROUTING 1 -d 10.0.24.ххх -p tcp -m tcp --dport 666 -j DNAT --to 192.168.1.2:888
(а для 83.234.ххх:666 настройте через веб-морду).
Если же вы хотите, чтобы правила, прописанные в веб-интерфейсе, работали только для первого адреса (на vlan1), то измените правило
iptables -t nat -A PREROUTING -d 10.0.24.107 -j VSERVER
на
iptables -t nat -N VSERVER2
iptables -t nat -A PREROUTING -d 10.0.24.107 -j VSERVER2
iptables -t nat -A VSERVER2 -p tcp -m tcp --dport 666 -j DNAT --to 192.168.1.2:888
(а правило для 83.234.ххх:666 опять же настройте через веб-морду).
Спасибо, работает.
С 10.0.25.255 действительно был глюк, незнал в чем дело:
если сохранять и ребутиться из консоли, то все падало :) Приходилось после манипуляций ребутаться с сохранением, потом заходить через веб-интерфейс и жать "сейв анд ребут".
Ещё один вопрос: где находится файл с правилами для VSERVER, дабы мне его куда-нибудь скопировать. А то запарился их заново прописывать после всяческих нечеловеческих экспериментов над роутером и смене версий прошивок.
Ещё один вопрос: где находится файл с правилами для VSERVER, дабы мне его куда-нибудь скопировать. А то запарился их заново прописывать после всяческих нечеловеческих экспериментов над роутером и смене версий прошивок.
Правила генерируются автоматически на основе ваших настроек в веб-интерфейсе. Сохранить настройки можно на странице "System Setup - Setting Management".
Mexanikkmm
28-06-2009, 14:56
Вот тоже такая ситуация. WL-500 GP v2
Есть внешний и внутренний ИП (91.х.х.х и 10.53.110.х соотв)
В вэбморде прописан внешний, маска внешнего + шлюз для внешнего ипа
в post-firewall есть строка
ifconfig vlan1:0 10.53.110.xxx netmask 255.255.128.0
это понятно внутренний.
В Вэбморде проброшен порт 55002 для DC++ (BOTH)
Захожу на хаб локалки - он пишет мне
Your ip address 91.x.x.x ( то есть мой внешний)
Захожу на хаб по внутреннему адресу, то есть на 10.50.х.х
Пару вопросов:
1) почему определяет меня как внешний адрес?
2) Можно ли сделать так, чтобы определял как внутренний? То есть по сути я нигде не прописывал шлюз для внутреннего адреса. Может быть где-то надо? и где? кроме как post-firewall больше негде наверно.
ЗЫ в пассивном режиме ДЦ работает, если в ротутере пропишу только внутренний (с внутренней маской, шлюзом) то все работает впорядке в режиме ручного перенаправления портов.
Итог всей проблемы - мне никак не скачать ни с кого в режиме ручного перенаправления портов при начально описанных мною данных.