В настоящее время я работаю на маршрутизаторе Linux, и я не могу настроить его так, как мне бы хотелось.
Маршрутизатор имеет три интерфейса - WAN, который является частной подсетью Mobile Broadband 172.18.15.0/24
который сохранен и имеет устройство 172.18.15.2
частной подсети 10.0.0.0/24
которому я не доверяю. WAN предназначен для доступа к нему через OpenVPN и является шлюзом по умолчанию для маршрутизаторов.
IP-адреса маршрутизатора: 172.18.15.1
и 10.0.0.1
. В iptables у меня есть правило DNAT для пересылки трафика порта 80
с 10.0.0.1
на 172.18.15.2
MASQUERADE на обратном пути.
Эта часть отлично работает.
Что меня беспокоит, так это то, что когда кто-то из частной подсети выбирает 10.0.0.1
качестве шлюза по умолчанию или создает маршрут к 172.18.15.0/24
через 10.0.0.1
тогда он также выставляет 172.18.15.2
. Такое поведение я бы хотел остановить, поэтому единственный доступ к сети 172.18.15.2
- через адрес 10.0.0.1
.
Если я отменяю пересылку, я отменяю и DNAT, что является проблемой.
Один из способов, который приходит ко мне - это установить apache и создать обратный прокси. Однако я не уверен, что это правильный и правильный путь.
Спасибо за предложения!
РЕДАКТИРОВАТЬ:
172.18.15.2
- простое устройство. Он может иметь только свой собственный адрес и адрес шлюза, в этом случае 172.18.15.1
. Он отвечает, потому что я установил в /etc/sysctl.conf
net.ipv4.ip_forwarf=1
Вот дамп iptables-save -c
enp1s0 - интерфейс для 10.0.0.0/24
enp2s0 является интерфейсом для 172.18.15.0/24
wwx582c80139263 - интерфейс для мобильного широкополосного шлюза
# Generated by iptables-save v1.6.0 on Mon Apr 16 08:27:45 2018
*filter
:INPUT ACCEPT [840:388180]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [643:92809]
[0:0] -A INPUT -d 10.0.0.0/24 -p tcp -m tcp --dport 80 -j ACCEPT
[0:0] -A INPUT -d 10.0.0.0/24 -p tcp -j DROP
COMMIT
# Completed on Mon Apr 16 08:27:45 2018
# Generated by iptables-save v1.6.0 on Mon Apr 16 08:27:45 2018
*nat
:PREROUTING ACCEPT [10:648]
:INPUT ACCEPT [10:648]
:OUTPUT ACCEPT [11:770]
:POSTROUTING ACCEPT [11:770]
[0:0] -A PREROUTING -i enp1s0 -p tcp -m tcp --dport 80 -j DNAT --to-
destination 172.18.15.2:80
[0:0] -A POSTROUTING -s 172.18.15.0/24 -j MASQUERADE
[0:0] -A POSTROUTING -o wwx582c80139263 -j MASQUERADE
COMMIT
# Completed on Mon Apr 16 08:27:45 2018