LINUX.ORG.RU
ФорумAdmin

Не получается на шлюзе перебросить порт

 


1

1

Добрый день!

Помогите пожалуйста решить проблему переброса порта с шлюза на внутреннюю машину.

Есть две сети, внутренняя 192.168.10.0 и внешняя 192.168.1.0

Есть Сервер-маршрутизатор на Debian 9.6 который имеет две сетевых карты и видит две сети соответственно (192.168.1.77 внешний IP и 192.168.10.1 внутренний IP). Через него внутренняя сеть в настоящий момент получает интернет.

Но вот проблема в том что не получается перебросить порт 3390 на внутреннюю машину, то есть подключаясь к IP адресу 192.168.1.77 что бы шёл переброс порта на IP адрес внутренней сети 192.168.10.2 на порт 3390.

Вот что находится в файле /etc/network/interfaces

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback


# The primary network interface
auto ens192
iface ens192 inet static
address 192.168.1.77
gateway 192.168.1.1
netmask 255.255.255.0
pre-up iptables-restore < /etc/iptables.up.rules

auto ens224
iface ens224 inet static
address 192.168.10.1
netmask 255.255.255.0
network 192.168.10.00
broadcast 192.168.10.255

Файл /etc/iptables.up.rules выглядит следующим образом:

# Generated by iptables-save v1.6.0 on Mon Dec  3 20:24:59 2018
*nat
:PREROUTING ACCEPT [4:404]
:INPUT ACCEPT [1:229]
:OUTPUT ACCEPT [0:0]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i ens192 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1
-A PREROUTING -d 192.168.1.77/32 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.10.2:3390
-A POSTROUTING -j MASQUERADE
-A POSTROUTING -s 192.168.10.2/32 -p tcp -m tcp --dport 3390 -j SNAT --to-source 192.168.1.77
COMMIT
# Completed on Mon Dec  3 20:24:59 2018
# Generated by iptables-save v1.6.0 on Mon Dec  3 20:24:59 2018
*filter
:INPUT ACCEPT [2122:179513]
:FORWARD DROP [7:316]
:OUTPUT ACCEPT [1504:264501]
-A FORWARD -s 192.168.10.0/24 -i ens224 -o ens192 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens192 -o ens224 -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i ens192 -o ens224 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens224 -o ens192 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Mon Dec  3 20:24:59 2018

Команды которыми я пытаюсь добавить записи в IPTABLES

iptables -t nat -A PREROUTING -d 192.168.1.77/24 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.1.2:3390
iptables -t nat -A POSTROUTING -s 192.168.10.2/24 -p tcp -m tcp --dport 3390 -j SNAT --to-source 192.168.1.77

Но почему то они не добавляются и при выполнении команды iptables -L -n я вижу следующее:

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain FORWARD (policy DROP)
target     prot opt source               destination
ACCEPT     all  --  192.168.10.0/24      0.0.0.0/0            ctstate NEW
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 flags:0x17/0x02 ctstate NEW
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED
ACCEPT     all  --  0.0.0.0/0            0.0.0.0/0            ctstate RELATED,ESTABLISHED

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination



Последнее исправление: LeximusNet (всего исправлений: 1)

LORCODE!

С помощью iptables -L -n ты и не увидешь, что происходит в таблице nat. Добавь -t nat

Покажи вывод, чтобы убедиться, что форвардинг включён на уровне ядра

cat /proc/sys/net/ipv4/ip_forward

Deleted
()
Ответ на: комментарий от Deleted

Эта команда cat /proc/sys/net/ipv4/ip_forward показала «1»

Вывод iptables -L -n -t nat

Chain PREROUTING (policy ACCEPT) target prot opt source destination DNAT tcp  — 0.0.0.0/0 0.0.0.0/0 tcp dpt:80 to:192. 168.10.1 DNAT tcp  — 0.0.0.0/0 192.168.1.77 tcp dpt:3390 to:19 2.168.10.2:3390 DNAT tcp  — 0.0.0.0/0 192.168.1.0/24 tcp dpt:3390 to:19 2.168.1.2:3390

Chain INPUT (policy ACCEPT) target prot opt source destination

Chain OUTPUT (policy ACCEPT) target prot opt source destination

Chain POSTROUTING (policy ACCEPT) target prot opt source destination MASQUERADE all  — 0.0.0.0/0 0.0.0.0/0 SNAT tcp  — 192.168.10.2 0.0.0.0/0 tcp dpt:3390 to:19 2.168.1.77 SNAT tcp  — 192.168.10.0/24 0.0.0.0/0 tcp dpt:3390 to:19 2.168.1.77

LeximusNet
() автор топика
Ответ на: комментарий от anc

И что бы два раза не вставать

192.168.1.77 внешний IP

Вы к нему чисто случайно не из инета откуда-то далеко хотите соединиться?

anc ★★★★★
()
Ответ на: комментарий от anc
root@router:~# iptables -L -n -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
DNAT       tcp  --  0.0.0.0/0            0.0.0.0/0            tcp dpt:80 to:192.168.10.1
DNAT       tcp  --  0.0.0.0/0            192.168.1.77         tcp dpt:3390 to:192.168.10.2:3390

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
MASQUERADE  all  --  0.0.0.0/0            0.0.0.0/0
SNAT       tcp  --  192.168.10.2         0.0.0.0/0            tcp dpt:3390 to:192.168.1.77
LeximusNet
() автор топика
Ответ на: комментарий от LeximusNet

1. Тему тоже поправьте
2. Показывать лучше iptables-save
3. SNAT tcp -- 192.168.10.2 0.0.0.0/0 tcp dpt:3390 to:192.168.1.77 уже роли не играет ранее маскарад сработает.

anc ★★★★★
()
Ответ на: комментарий от anc

Поправил, но результат тот же. Не работает. Вывод iptables-save

root@router:~# iptables-save
# Generated by iptables-save v1.6.0 on Wed Dec  5 13:33:03 2018
*nat
:PREROUTING ACCEPT [32:2262]
:INPUT ACCEPT [6:660]
:OUTPUT ACCEPT [5:371]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -i ens192 -p tcp -m tcp --dport 80 -j DNAT --to-destination 192.168.10.1
-A PREROUTING -d 192.168.1.77/32 -p tcp -m tcp --dport 3390 -j DNAT --to-destination 192.168.10.2:3390
-A POSTROUTING -s 192.168.10.2/32 -p tcp -m tcp --dport 3390 -j SNAT --to-source 192.168.1.77
-A POSTROUTING -j MASQUERADE
COMMIT
# Completed on Wed Dec  5 13:33:03 2018
# Generated by iptables-save v1.6.0 on Wed Dec  5 13:33:03 2018
*filter
:INPUT ACCEPT [162:12430]
:FORWARD DROP [12:552]
:OUTPUT ACCEPT [171:26953]
-A FORWARD -s 192.168.10.0/24 -i ens224 -o ens192 -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens192 -o ens224 -p tcp -m tcp --dport 80 --tcp-flags FIN,SYN,RST,ACK SYN -m conntrack --ctstate NEW -j ACCEPT
-A FORWARD -i ens192 -o ens224 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
-A FORWARD -i ens224 -o ens192 -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
COMMIT
# Completed on Wed Dec  5 13:33:03 2018
LeximusNet
() автор топика
Ответ на: комментарий от anc

Мне нужно что бы из вне было всё запрещено кроме открытых портов, а из нутри всё открыто. Хотя тоже из нутри всё надо ограничевать, так как данная машина будет работать через оганиченое количество портов/протоколов.

LeximusNet
() автор топика
Ответ на: комментарий от LeximusNet

Ну так и поправляйте правила, по вашему желанию. Я написал как точно заработает.

anc ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.