В настоящее время у меня есть метеостанция, от которой я пытаюсь перехватить пакеты, и которая также должна напрямую связываться с Интернетом. В моей текущей настройке я настроил правило NAT в брандмауэре для пересылки данных со станции на мой сервер Ubuntu. Я могу успешно получать данные со станции на сервер, однако для того, чтобы получить правильные данные, станции необходимо рукопожатие с Интернетом.
Итак, мой вопрос: как я могу поддерживать свой сервер Ubuntu на одной линии между станцией и Интернетом?
РЕДАКТИРОВАТЬ: Просто для ясности, я решил эту проблему со своим старым маршрутизатором, выполнив следующие действия:
iptables -t mangle -A PREROUTING -s 192.168.0.7 -j ROUTE --tee --gw 192.168.0.8
iptables -t mangle -A POSTROUTING -d 192.168.0.7 -j ROUTE --tee --gw 192.168.0.8
Теперь моя проблема заключается в том, что мой новый UniFi Security Gateway 3P не принимает '- Для этого я создал приведенные ниже правила NAT для передачи данных с моей метеостанции на мой сервер Ubuntu:
set service nat rule 4500 destination port 80
set service nat rule 4500 source address 192.168.0.7
set service nat rule 4500 inbound-interface eth1
set service nat rule 4500 inside-address address 192.168.0.8
set service nat rule 4500 inside-address port 80
set service nat rule 4500 protocol tcp
set service nat rule 4500 type destination
Но, как уже упоминалось, это тупик, и станция не может связываться с Интернетом.
Примечания:
192.167.0.1 = Gateway/USG
192.167.0.7 = Weather Station
192.167.0.8 = Ubuntu VM
Заранее спасибо!
Кев
Если возможно присвоить метеостанции маршрут по умолчанию через Вашу человечность, это будет намного более симпатичным, теперь Вы будете иметь к NAT три раза, и это не скала, твердая или легкая диагностировать.
На Ubuntu для установки его как интернет-шлюза вместо просто конечной точки необходимо будет включить ip_forwarding и добавить правило iptables подменить входящий трафик, направляющийся в исходящий трафик, чтобы притвориться, что это прибывает из человечности.
sysctl -w net.ipv4.ip_forward=1
iptables -t nat -A POSTROUTING -o enp0s3 -j MASQUERADE
Вы, возможно, также должны включить правило Ваш вперед, чтобы явно позволить передавать трафик, это уже может быть значением по умолчанию, принимающим все.
iptables -A FORWARD -i enp0s3 -j ACCEPT
Это соответствовало бы всему входящему трафику, не предназначенному для Вашей человечности (прохождение), таким образом, это если возможное соответствие это также с характеристиками как источник (-s) и/или место назначения (-d)
iptables -A FORWARD -s 1.2.3.4 -d 5.6.7.8 -i enp0s3 -j ACCEPT