Я пытаюсь настроить переадресацию IP. Не удается заставить его работать.
Цель состоит в том, чтобы получить соединение на интерфейсе 1 (IP на этом интерфейсе 192.168.101.3) порт 4443 и отправить его через интерфейс 2 на порт 4443 IP 192.168.4.5 (адрес назначения).
- Я включил «net.ipv4.ip_forward = 1» в /etc/sysctl.conf
- установлено DEFAULT_FORWARD_POLICY="ACCEPT" в /etc/default/ufw
- добавил это в /etc/ufw/before.rules (из разных руководств):
: ПРЕДВАРИТЕЛЬНОЕ ПРИНЯТИЕ [0:0]
-A PREROUTING -p tcp --dport 4443 -j DNAT --to-destination 192.168.4.5:4443
-A POSTROUTING -o interface2 -j MASQUERADE
СОВЕРШИТЬ
Я все еще не могу подключиться к "nc 192.168.101.3 4443"
- Вы видите что-то не так?
- Откуда ufw знает, на какой интерфейс пересылать, если в DNAT нельзя указать -o? Не попытается ли он выполнить переадресацию на 192.168.4.5:4443 на interface1?
редактировать:
192.168.101.1(компьютер 1) -> (192.168.101.3, 192.168.4.1)(компьютер 2) -> 192.168.4.5(компьютер 3)
Лучшее, что я могу получить прямо сейчас, это в журнале
[1177.553749] [UFW AUDIT] IN= OUT=enp6s0 SRC=192.168.101.3 DST=192.168.101.1 LEN=88 TOS=0x00 PREC=0xC0 TTL=64 ID=62781 PROTO=ICMP TYPE=3 CODE=3 [SRC=192.168 .101.1 DST=192.168.4.5 LEN=60 TOS=0x00 PREC=0x00 TTL=63 ID=13975 DF PROTO=TCP SPT=60720 DPT=4445 WINDOW=64240 RES=0x00 SYN URGP=0 ]
Итак, если я правильно понимаю, порт 4443 на 192.168.4.5 недоступен, поэтому 192.168.101.3 отправляет пакет с ошибкой ICMP обратно на 192.168.101.1 (машина, с которой я подключаюсь с помощью nc).
Что странно, потому что, если я попытаюсь подключиться к nc напрямую с 192.168.101.3, все будет работать нормально...