Используя iptables для изменения целевого порта

Оказывается, что это возможно при использовании конфигурации menu в config.toml. Атрибут weight используется для упорядочения меню:

[menu]

  [[menu.main]]
    identifier = "home"
    name = "home"
    url = "/"
    weight = 10

  [[menu.main]]
    identifier = "blog"
    name = "blog"
    url = "/post/"
    weight = 20

  [[menu.main]]
    identifier = "talks"
    name = "talks"
    url = "/talks/"
    weight = 30

  [[menu.main]]
    identifier = "about me"
    name = "about me"
    url = "/about/"
    weight = 40


19
задан Kristof Provost 28 October 2008 в 10:20
поделиться

6 ответов

Это использование, по-видимому, не поддерживается. Взятый от http://www.netfilter.org/documentation/HOWTO/NAT-HOWTO.txt :

6.3.7. При изменении Места назначения Локально сгенерированных Соединений

код NAT позволяет Вам вставлять правила DNAT в ВЫХОДНУЮ цепочку, но
это не полностью поддерживается в 2,4 (это может быть, но это требует нового
параметр конфигурации, некоторое тестирование и маленькое кодирование, поэтому если кто-то не заключает контракт Ржавый для записи этого, я скоро не ожидал бы это).

текущее ограничение - то, что можно только изменить место назначения на
локальная машина (например, 'j DNAT - к 127.0.0.1'), не к любой другой машине, иначе ответы не будут переведены правильно.

5
ответ дан 30 November 2019 в 04:59
поделиться

Вы могли перенаправить 162 - 1 620

iptables -t nat -A PREROUTING -p UDP --dport 162 -j REDIRECT --to-port 1620
6
ответ дан 30 November 2019 в 04:59
поделиться

Принятие Вас знает, к какой машине Вы отправляете:

iptables -t nat -A OUTPUT -p udp --dport 162 -j DNAT --to-destination <dest-ip>:1620
6
ответ дан 30 November 2019 в 04:59
поделиться

@PiedPiper был правильным. С DNAT необходимо указать IP-адрес, но мы только хотим сделать перенаправление портов, таким образом, ПЕРЕНАПРАВЛЕНИЕ-j может работать в этом случае.

См. http://www.netfilter.org/documentation/HOWTO//NAT-HOWTO-6.html#ss6.2

1
ответ дан 30 November 2019 в 04:59
поделиться

Вместо того, чтобы делать SNAT, попробуйте DNAT. Исходный порт изменяется, потому что SNAT означает SourceNAT, таким образом, DNAT будет работать на Вас.

0
ответ дан 30 November 2019 в 04:59
поделиться

Вы могли настроить отклонить правило и затем повторно ввести пакет с измененным портом.

я сделал это некоторое время назад на Mac OS X, но это - тот же принцип на Linux: http://blog.dv8.ro/2006/08/using-divert-sockets-on-mac-os-x.html

в основном необходимо создать очень простой прозрачный прокси.

0
ответ дан 30 November 2019 в 04:59
поделиться
Другие вопросы по тегам:

Похожие вопросы: