Пересылать входящие пакеты с порта 25565 внутреннему клиенту? IPTables [closed]

Недавно я учился использовать iptables и создал небольшую сеть в виртуальном боксе. У меня есть сервер Debian Natting для внутренних клиентов. Один из внутренних клиентов размещает сервер minecraft для тестирования.

Я хочу иметь любые входящие соединения, использующие порт 25565, идущие в eth0 с сервера debian, чтобы перенаправить их , в частности на внутренний сервер minecraft (192.168.200.4) из eth1. Как и в обычном роутере Linksys.

То, что я придумал, но на самом деле не работает, было:

iptables -A FORWARD -i eth0 --dport 25565 -o eth1 -d 192.168.200.4 -j ACCEPT

Затем я прочитал там ошибки и другие мелочи, что на самом деле мне нужно использовать ПОСТРОУТИРОВАНИЕ / ПЕРЕДАЧУ. Итак, я попробовал:

iptables -t nat -A POSTROUTING -i eth0 -p tcp --dport 25565 -o eth1 -d 192.168.200.4 -j ACCEPT

Теперь очевидно, что ничего из этого не работает, но я хочу знать, на правильном ли я пути?

Вот диаграмма виртуальной сети, чтобы вы могли видеть ее визуально:

http : //i.imgur.com/nj7pmK8.jpg

В настоящее время конфигурация iptables выглядит так:

Chain INPUT (policy ACCEPT)
target      prot  opt  source                    destination
ACCEPT      all   --   anywhere                  anywhere                 
ACCEPT      all   --   anywhere                  anywhere                 state RELATED,ESTABLISHED
ACCEPT      all   --   anywhere                  anywhere                 tcp dpt:telnet

Chain FORWARD (policy ACCEPT)
target      prot  opt  source                    destination
ACCEPT      all   --   anywhere                  anywhere                 state RELATED,ESTABLISHED
ACCEPT      all   --   anywhere                  anywhere

Chain OUTPUT (policy ACCEPT)
target      prot  opt  source                    destination

Любые дополнительные детали будут с удовольствием добавлены:)

(Все в цепочке INPUT - это просто другие правила i Раньше я возился с ней, единственными правилами в ней были правила в цепочке FORWARD)

Это руководство, которому я следовал для NAT: http: //www.revsys.ru / Writings / quicktips / nat.html

-1
задан 4 November 2014 в 00:08
1 ответ

В вашей схеме ваш внешний IP неверен : 192.168.1.161 является внутренним IP.

У вас есть реальный внешний (публичный) IP: проверьте его, например, с помощью http://www.whatismyip.com (надеюсь, он исправлен).

Сначала вам нужно использовать PREROUTING цепочку для DNAT вашего внешнего IP на ваш внутренний IP :

iptables -t nat -A PREROUTING -p tcp -d $PUBLIC_IP --destination-port 25565 -j DNAT --to 192.168.200.4:25565

Затем вам нужно разрешить пересылку пакетов между интерфейсами от источника к цели :

iptables -A FORWARD -p tcp -i eth0 -o eth1 -d 192.168.200.4 --destination-port 25565 -m state --state NEW -j ACCEPT

Однако, просмотрите в Google о том, как это сделать для Web-сервера, и вы найдете много ресурсов (и на этом сайте тоже). Логика остается прежней

.
1
ответ дан 5 December 2019 в 19:54

Теги

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