У меня есть правила iptables, приведенные ниже, для пересылки входящего трафика SSH через порт 2222 на виртуальную машину, работающую в сети vmware "vmnet" на том же хосте.
192.168.1.1 192.168.1.40
+---------+ +------+ +-----------------+
| network |---->| host |__ | virtual machine |
+---------+ +------+ \\__+-----------------+
192.168.2.1 \_____192.168.2.22
В auth.log виртуальной машины входящий IP-адрес для удаленных входов в систему всегда является IP-адресом хоста, который пересылал пакеты. Как я могу сохранить информацию об удаленном IP?
*filter
:INPUT ACCEPT [593178:45807398]
:FORWARD ACCEPT [881:158378]
:OUTPUT ACCEPT [859348:1232593358]
-A FORWARD -d 192.168.2.22/32 -o vmnet99 -p tcp -m tcp --dport 22 -j ACCEPT
COMMIT
*nat
:PREROUTING ACCEPT [943:138565]
:INPUT ACCEPT [658:122878]
:OUTPUT ACCEPT [3266:229178]
:POSTROUTING ACCEPT [0:0]
-A PREROUTING -p tcp -m tcp --dport 2222 -j DNAT --to-destination 192.168.2.22:22
-A POSTROUTING -j MASQUERADE
COMMIT