Назад | Перейти на главную страницу

Как установить связь между производственной сетью и изолированной сетью, используя машину Linux в качестве маршрутизатора?

Создаю тестовую среду. В котором у меня есть производственная сеть, изолированная сеть и Linux-машина. На машине Linux с 2 сетевыми картами одна сетевая карта подключается к производственной сетевой среде, затем ей назначается IP-адрес, а другой - изолированной сети.

PROD-------(eth0)[LINUXMACHINE](eth1)-----ISOALTED NETWORK 

В приведенном выше представлении после настройки одного сетевого адаптера (eth0) я могу выполнить эхо-запрос с рабочих сетевых компьютеров на Linux Machine. Затем я настроил eth1 как шлюз по умолчанию изолированной сети. После включения eth1 вы можете пинговать с и на Linux-машину в изолированный env. Теперь я не могу пинговать с Prod на Linux-машину. Если я отключу eth1, он будет работать, иначе не будет.

Я новичок в сети. Я точно не знаю, в чем проблема и что я сделал не так. Я включил следующие

IP Forwarding, MASQUERADE и некоторые правила iptables

Любой может предложить мне хороший способ заставить эту работу работать.

заранее спасибо

отредактировал

ifconfig

eth0      Link encap:Ethernet  HWaddr 00:50:56:8f:68:e7  
          inet addr:192.168.108.13  Bcast:192.168.108.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe8f:68e7/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:335609 errors:0 dropped:3107 overruns:0 frame:0
          TX packets:48332 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:131610506 (131.6 MB)  TX bytes:4424737 (4.4 MB)

eth1      Link encap:Ethernet  HWaddr 00:50:56:8f:0a:c6  
          inet addr:192.168.103.1  Bcast:192.168.103.255  Mask:255.255.255.0
          inet6 addr: fe80::250:56ff:fe8f:ac6/64 Scope:Link
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:18773 errors:0 dropped:0 overruns:0 frame:0
          TX packets:35645 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:1816084 (1.8 MB)  TX bytes:50940327 (50.9 MB)

iptables -t нат -nvL

Chain PREROUTING (policy ACCEPT 3 packets, 375 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain INPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
   31  2604 DNAT       all  --  *      *       0.0.0.0/0            192.168.103.246      to:192.168.103.246

Chain POSTROUTING (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
 1985  138K MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           
    0     0 MASQUERADE  all  --  *      eth0    0.0.0.0/0            0.0.0.0/0           

Chain VL (0 references)
 pkts bytes target     prot opt in     out     source               destination 

iptables -nvL

Chain INPUT (policy ACCEPT 49159 packets, 38M bytes)
 pkts bytes target     prot opt in     out     source               destination         

Chain FORWARD (policy ACCEPT 32 packets, 3393 bytes)
 pkts bytes target     prot opt in     out     source               destination         
13459  582K ACCEPT     all  --  eth1   *       0.0.0.0/0            0.0.0.0/0           
21264   38M ACCEPT     all  --  eth0   eth1    0.0.0.0/0            0.0.0.0/0            state RELATED,ESTABLISHED
    0     0 ACCEPT     all  --  eth1   eth0    0.0.0.0/0            0.0.0.0/0           

Chain OUTPUT (policy ACCEPT 0 packets, 0 bytes)
 pkts bytes target     prot opt in     out     source               destination         
19109 1919K ACCEPT     all  --  *      *       0.0.0.0/0            0.0.0.0/0 


cat /proc/sys/net/ipv4/ip_forward 1

Поскольку оба интерфейса находятся в одной подсети, просто соедините их, используя следующие команды

brctl addbr bridge1

brctl addif bridge1 eth0

brctl addif bridge1 eth1

это должно работать

Вы используете одну и ту же подсеть в обеих сетях, по сути, это одна и та же сеть. Сначала измените это, например, используя 192.168.109.0/255.255.255 в качестве подсети для вашей лаборатории тестирования, и повторите попытку.

Хорошо, теперь, когда вы разделились на две подсети, я заметил еще одну вещь: у вас есть некоторые правила брандмауэра и некоторые правила NAT, которые, по крайней мере, для меня не имеют смысла. Попробуйте сбросить свои правила iptables:

iptables -t nat -F
iptables -t nat -X
iptables -t nat -Z

iptables -F
iptables -X
iptables -Z

Потом прочитал только NAT:

iptables -t nat -A POSTROUTING -o eth0 -J MASQUERADE

Затем попробуйте выполнить эхо-запрос с машины в частной локальной сети, на производственной, все должно работать.

Итак, насколько я понимаю, у вас следующая ситуация

subnet1 ---> eth0 -Linux PC- eth1 <----subnet 2

Вы пытаетесь использовать этот Linux-ПК посередине в качестве маршрутизатора между двумя подсетями?

В этом случае сделайте 2 вещи:
1) Отключите iptables (просто для проверки. Вы можете включить их позже и определить свои правила)
2) Включите переадресацию IP на ПК с Linux. Добавьте это в свой /etc/sysctl.conf

ipv4.ip_forward = 1

и беги

sysctl -p

Теперь в подсети 1 на хостах, которым нужен доступ к подсети 2, вам нужно будет настроить статические маршруты.

Предположим следующие подсети (на основе вашего вопроса)

подсеть 1 192.168.108.0/24 eth0 .13

подсеть 2 192.168.103.0/24 eth1 .1

В этом случае на хостах в подсети 1 вам нужно будет запустить это

route add -net 192.168.103.0/24 gw 192.168.108.13

И на хостах в подсети 2 вам нужно будет запустить это

route add -net 192.168.108.0/24 gw 192.168.103.1

После этого пинг, инициированный с хостов в подсети 1, на хосты в подсети 2 должен работать. И наоборот.