У меня есть сервер Centos с тремя сетевыми картами.
ETH0Публичный IP xx.xx.xx.xx1/xx.xx.xx.xx2 (с двумя публичными IP)
EHT1Локальная подсеть 192.168.80.0 (DHCP-сервер прослушивает этот интерфейс)
ETH2Локальная подсеть (10.0.1.10) Подключена к принтерам/файловым серверам/другим локальным сетям, доступным только внутри организации.
Мои требования к настройке:- на ETH1 (подсеть 192.168.800/24) у меня есть несколько пользователей, которым нужен доступ к Интернету и их почте. Мы настроили почтовый сервер внутри самой подсети 192.168.80.0/24, чтобы доступ к почте был быстрее для пользователей.
Я включил статический NAT для почтового сервера 192.168.80.2, который имеет публичный IP xx.xx.xx.xx2. Остальные пользователи на eth1 видят свой публичный IP как xx.xx.xx.xx1, так как мы включили DNAT и для него.
Файловые серверы/принтеры доступны пользователям в подсети 192.168.80.0/24.
У меня есть еще одна подсеть 192.168.70.0/24, которая должна взаимодействовать с подсетью 192.168.80.0/24, и аналогично 192.168.80.0.24 должна взаимодействовать с подсетью 192.168.70.0/24.
192.168.80.0/24 подключен к 10.0.0.0/24 с помощью коммутатора L3. 192.168.70.0/24 подключен к 10.0.0.0/24 с помощью коммутатора L3.
Все работает нормально, но не удается установить связь через 192.168.80.0/24 с 192.168.70.0.. виз и виз.
Всякий раз, когда я выполняю трассировку из сети 192.168.80.0/24 в сеть 192.168.70.0/24, она выходит в Интернет.
traceroute 192.168.70.1
* * * 192.168.80.1
* * * ISP default gateway IP
Как включить пересылку или маршрутизацию трафика, исходящего из подсети 192.168.80.0/24 и направляющегося в 192.168.70.0/24, чтобы он проходил через eth2 (10.0.1.10), чтобы указанная выше трассировка выглядела примерно так, как показано ниже, а все остальное работало так же, как и сейчас.
traceroute 192.168.70.1
* * * 192.168.80.1
* * * 10.0.1.10
Я понятия не имею, что теперь нужно делать.
Мои правила NAT:
-A PREROUTING -d xx.xx.xx.xx2/32 -i eth0 -j DNAT --to-destination 192.168.80.2
-A POSTROUTING -s 192.168.80.2/32 -o eth0 -j SNAT --to-source xx.xx.xx.xx2
-A POSTROUTING -s 192.168.80.0/24 -o eth0 -j SNAT --to-source xx.xx.xx.xx1
-A POSTROUTING -o eth0 -j MASQUERADE
Маршрутизация:
route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
115.xx.xx.200 0.0.0.0 255.255.255.252 U 0 0 0 eth0
192.168.80.0 0.0.0.0 255.255.255.0 U 0 0 0 eth1
10.0.0.0 0.0.0.0 255.255.252.0 U 0 0 0 eth2
115.0.0.0 0.0.0.0 255.0.0.0 U 0 0 0 eth0
0.0.0.0 115.xx.xx.137 0.0.0.0 UG 0 0 0 eth0
решение1
Где-то у вас должен быть шлюз, который подключен к сети 10.0.1.0/24 и который также подключен к сети 192.168.70.0/24. Допустим, что этот шлюз имеет IP-адрес 10.0.1.20.
Затем вам нужно добавить этот маршрут на ваш маршрутизатор Linux:
ip ro add 192.168.70.0/24 via 10.0.1.20
Поскольку ваш маршрутизатор также является шлюзом для сети 192.168.70.0/24 (хотя и через один переход), вам не нужно добавлять маршрут для 192.168.80.0/24 на шлюзе сети 192.168.70.0/24.
ПРАВКА1:
Чтобы сделать этот маршрут постоянным в CentOS, необходимо добавить в /etc/sysconfig/network-scripts/route-eth2
файл следующую строку:
192.168.70.0/24 via 10.0.1.20 dev eth2
Ты можешь видетьэто руководство по развертыванию.