У меня есть две виртуальные машины, одна выступает в роли маршрутизатора и сервера Ubuntu и подключена к хосту через мостовое соединение, а другая - машина Kali, которая подключена к виртуальной машине сервера через соединение только с хостом.
Машина Kali имеет IP-адрес 192.168.0.40, а сервер имеет IP-адрес 172.16.23.100.
Правила iptables, которые я установил, таковы:
Chain PREROUTING (policy ACCEPT 114 packets, 20912 bytes)
pkts bytes target prot opt in out source destination
0 0 DNAT all -- ens33 * 0.0.0.0/0 172.16.23.101 to:192.168.0.40
Chain INPUT (policy ACCEPT 60 packets, 8700 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 6 packets, 422 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 6 packets, 422 bytes)
pkts bytes target prot opt in out source destination
2 168 MASQUERADE all -- * ens33 192.168.0.0/24 0.0.0.0/0
0 0 SNAT all -- * ens33 192.168.0.40 0.0.0.0/0 to:172.16.23.101
переход от машины Kali снаружи к хосту работает нормально, но когда я пытаюсь перейти от хоста к машине Kali либо простым ping, либо с помощью ssh, он не проходит.
Нужно ли устанавливать DNAT для работы только с конкретным портом?
Файл, сгенерированный iptables-save согласно запросу @grawity
# Generated by iptables-save v1.6.0 on Thu Jul 27 06:58:13 2017
*filter
:INPUT ACCEPT [686:75420]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [485:45172]
-A FORWARD -i ens33 -o ens38 -j ACCEPT
-A FORWARD -i ens38 -o ens33 -j ACCEPT
COMMIT
# Completed on Thu Jul 27 06:58:13 2017
# Generated by iptables-save v1.6.0 on Thu Jul 27 06:58:13 2017
*nat
:PREROUTING ACCEPT [0:0]
:INPUT ACCEPT [0:0]
:OUTPUT ACCEPT [4:240]
:POSTROUTING ACCEPT [4:240]
-A PREROUTING -d 172.16.23.101/32 -i ens33 -j DNAT --to-destination 192.168.0.40
-A POSTROUTING -s 192.168.0.0/24 -o ens33 -j MASQUERADE
-A POSTROUTING -s 192.168.0.40/32 -o ens33 -j SNAT --to-source 172.16.23.101
COMMIT
# Completed on Thu Jul 27 06:58:13 2017
Когда я запускаю tcpdump на маршрутизаторе / сервере, он показывает мне, что он отправляет запросы arp на адрес 172.16.23.101, но ничего не возвращается, я не совсем понимаю, почему он не попадает в правило NAT, если он находится в ПРЕДОХРАНИТЕЛЬНАЯ цепочка