Я хочу, чтобы соединения, входящие на ppp0 через порт 8001, были направлены на 192.168.1.200 на eth0 на порт 8080.
У меня есть эти два правила
-A PREROUTING -p tcp -m tcp --dport 8001 -j DNAT --to-destination 192.168.1.200:8080
-A FORWARD -m state -p tcp -d 192.168.1.200 --dport 8080 --state NEW,ESTABLISHED,RELATED -j ACCEPT
и это не работает. Что мне не хватает?
Ответы:
Прежде всего - вы должны проверить, разрешена ли переадресация вообще:
Если оба возвращаются,
1
все в порядке. Если нет, сделайте следующее:Второе -
DNAT
можно наноситьnat
только на стол. Итак, ваше правило должно быть расширено путем добавления спецификации таблицы (-t nat
):Оба правила применяются только к TCP-трафику (если вы также хотите изменить UDP, вам нужно предоставить аналогичные правила, но с
-p udp
набором опций).И последнее, но не менее важное - это настройка маршрутизации. Тип:
и проверьте, есть ли
192.168.1.0/24
среди возвращенных записей маршрутизации.источник
sysctl
синтаксис вродеsysctl net.ipv4.conf.eth0.forwarding=1
-A
на-D
Я думаю, что вы хотите, это:
источник
Вы забыли отправить адрес источника SNAT 'ing:
И не забудьте установить брандмауэр linux в качестве шлюза по умолчанию на компьютере с адресом 192.168.1.200.
источник
POSTROUNTING
шаге. На данный момент разговор все еще о--destination
чем--source
.Я создал следующий скрипт bash для этого на моем роутере linux. Он автоматически определяет WAN IP и подтверждает ваш выбор, прежде чем продолжить.
Использование скрипта просто, просто скопируйте и вставьте его в файл, а затем.
Удалить то же правило
Я думал, что это может сэкономить кому-то время на соответствующем маршрутизаторе.
источник
У меня была задача заставить MACHINE_A подумать, что служба физически работает на MACHINE_B, но прозрачно перенаправить все запросы на MACHINE_C.
Хитрость заключалась в том, чтобы использовать MASQUERADE.
Обратите внимание, что вы можете настроить команды:
Разрешить пересылку пакетов только на определенном интерфейсе. Например:
Чтобы разрешить не только MACHINE_A, но и всем остальным использовать переадресацию портов, удалите:
источник
Пытаться
Эти файлы сообщают ядру, что ему разрешено пересылать пакеты между интерфейсами.
источник
Эта команда не работает для меня:
У меня есть 2 LAN-интерфейса и FORWARD работают, когда я напишу:
Конечно, тоже нужны PREROUTING и FORWARD :)
источник