Пробросить 127.0.0.1:10503 на etc0:10503

Некий сервис висит на 127.0.0.1:10503

netstat -nltp | grep 10503
tcp        0      0 127.0.0.1:10503        0.0.0.0:*               LISTEN      4717/java

Я хочу подключится к этому сервису извне. Я пробовал так:

iptables -F
iptables -t nat -F
iptables -X

iptables -A PREROUTING -t nat -i eth0 -p tcp --dport 10503 -j DNAT --to 127.0.0.1
iptables -A FORWARD -p tcp -d 127.0.0.1 --dport 10503 -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT

Так же

sysctl -w net.ipv4.conf.eth0.route_localnet=1

sysctl net.ipv4.ip_forward
net.ipv4.ip_forward = 1

> lsmod|grep iptable
iptable_nat            12875  0
nf_nat_ipv4            14115  1 iptable_nat
iptable_filter         12810  0
ip_tables              27126  2 iptable_filter,iptable_nat

Версия Linux

cat /proc/version
Linux version 3.10.0-1062.18.1.el7.x86_64 ([email protected]) (gcc version 4.8.5 20150623 (Red Hat 4.8.5-39) (GCC) ) #1 SMP Tue Mar 17 23:49:17 UTC 2020

Ответы (1 шт):

Автор решения: VSMironov

Решил так:

iptables -F
iptables -t nat -F
iptables -X

iptables -A FORWARD -i eth0 -o lo -j ACCEPT
iptables -A FORWARD -i lo -o eth0 -j ACCEPT

iptables -t nat -A PREROUTING -d 10.13.109.10/32 -p tcp -m tcp --dport 10503 -j DNAT --to-destination 127.0.0.1:10503
iptables -t nat -A POSTROUTING -s 127.0.0.1/32 -p tcp -m tcp --dport 10503 -j SNAT --to-source 10.13.109.10

iptables -A FORWARD -i eth0 -o lo -p tcp --syn --dport 10503 -m conntrack --ctstate NEW -j ACCEPT
iptables -A FORWARD -i eth0 -o lo -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i lo -o eth0 -m conntrack --ctstate ESTABLISHED,RELATED -j ACCEPT
→ Ссылка