iptables перенаправление всего трафика
Подскажите пожалуйста, какое нужно правило указать на роутере с Openwrt который будет принимать запросы, чтоб работало не только с тем IP который прописан в --to-destination х.х.х.х но и с другими тоже.
вот запросы на первом роутере Код:
iptables -t nat -A PREROUTING -p udp -s 192.168.1.10 -j DNAT --to-destination х.х.х.х вот на втором который видит что обращаюсь с х.х.х.х и перенаправляет меня на у.у.у.у Код:
iptables -t nat -A PREROUTING -p udp -s х.х.х.х -j DNAT --to-destination у.у.у.у Напишите пожалуйста, какие нужно правила прописать на втором роутере. |
Цитата:
|
shisik, так вообще молчит
shisik, Похоже вообще не там копаю, FORWARD нужен скорее всего, вопрос как правильно правило написать на первом роутере и на втором. Вот, второму роутеру которому пересылается запрос прописал iptables -A FORWARD -j ACCEPT, теперь думаю, какое правило нужно прописать на первом роутере. |
Это не поможет? https://unix.stackexchange.com/quest...ocal-webserver
|
shisik,
Как я понял, там тоже самое что делаю я iptables -t nat -A PREROUTING -p udp -s х.х.х.х -j DNAT --to-destination 0/0 так тоже не работает, не знает роутер какой ему адрес обрабатывать, видимо первый роутер этот адрес и не передаёт что-ли iptables -t nat -A PREROUTING -p udp -s х.х.х.х -d 0/0 -j DNAT так тоже не хочет. там --src у меня это -s там --dst у меня это -d Похоже iptables не умеет то что я хочу. |
Цитата:
|
root221, т.е. у Вас два роутера, которые стоят друг за другом, и Вы хотите перенаправить весь UDP трафик с конкретного клиента на конкретный адрес?
Можете включить логгирование и проверить, с каким IP приходит запрос на второй роутер, полагаю там окажется: Цитата:
|
Нет, есть сеть 192.168.1.0/24 в которой находится непосредственно компьютер 192.168.1.10 с которого будут запросы.
Первый роутер получает адрес от третьего роутера WAN 10.0.0.100 Второй роутер через который я хочу подключаться так же получает адрес WAN 10.0.5.130 от третьего роутера, только подсеть другая. Все роутеры видят друг друга. По сути я пишу на первом роутере команду iptables -t nat -A PREROUTING -p udp -s 192.168.1.10 -j DNAT --to-destination 10.0.5.130 и весь UDP трафик с моего компьютера IP 192.168.1.10 посылается на IP 10.0.5.130 На втором роутере с IP 10.0.5.130 я пишу iptables -t nat -A PREROUTING -p udp -s 10.0.0.100 -j DNAT --to-destination СЕРВЕР:ПОРТ это уже конечный сервер к которому подключаюсь. То есть чтоб подключиться к другому серверу мне приходится вручную менять на втором роутере СЕРВЕР:ПОРТ и тогда подключается куда нужно, но таких серверов может быть 100500, как сделать так чтоб я ввёл IP в консоли игры 123.456.789.10:27015 и второй роутер понял что я обращаюсь к 123.456.789.10:27015 и подключился. Справка: 192.168.1.10 - компьютер подключен к первому роутеру на нём игра с консолью в которой пишу connect СЕРВЕР:ПОРТ 10.0.0.100 и 10.0.5.130 это ip WAN на роутерах 1 и 2 |
Есть ещё проблемка, ввожу в консоли любой вообще какой угодно адрес ИП:PORT и все равно подключает только к --to-destination СЕРВЕР:ПОРТ который указан на втором роутере.
NickM, Вот если бы второй роутер находился с первым в одной подсети то проблем бы не было, но у них у обоих маска 0/24, как в такой ситуации настроить FORWARD можно конечно VPN поднять но это уже другая история, хочется через iptables настроить если он так умеет. |
Я понял. То есть есть 2 локальные сети, подключенные к общему (внешнему) роутеру. И нужно соединить произвольный ПК в одной сети с произвольным сервером в другой. Примерно как здесь https://serverfault.com/questions/95...ans-and-router
|
shisik, ну почитал, никак не могу сформулировать правила для первого роутера и для второго.
Вообще должно получиться так Схема должна получиться такая КОМПЬЮТЕР с ИП 192.168.1.10 > connect x.x.x.x:27015 > Роутер первый к которому подключен компьютер, видит что с компьютера поступил запрос на x.x.x.x:27015, полученный запрос перенаправляет на > второй роутер у которого IP 10.0.5.130 обрабатывает и < возвращает ответ компьютеру, если сервер ответил подключаемся, сервер к которому буду стучаться находится в интернете, интернет видит только второй роутер. |
Цитата:
Вот если бы был доступ ко всем промежуточным узлам между локалками, тогда наверно можно было бы настроить. А так нет. |
shisik, получается нужно каждый раз менять на втором роутере правило -j DNAT --to-destination IP:PORT, по-другому работать не будет ?
|
Ну это обычная проброска порта на ПК, находящийся за NAT. Вообще обычно это делает я иначе. Если игровой сервер поднимается за NAT, то в роутере прописывается направление трафика на соответствующий порт (27015) на этот ПК в локалке. Клиенты же, независимо от того, как они подключены к интернету, просто подключаются по внешнему IP роутера, за которым находится сервер. Умеет это любой бытовой роутер.
|
Время: 22:09. |
Время: 22:09.
© OSzone.net 2001-