1

У меня три роутера. Интерфейс WAN маршрутизатора 0 подключается к Интернет-провайдеру, а интерфейс WAN маршрутизатора 1 и маршрутизатора 2 подключается к интерфейсам локальной сети маршрутизатора 0 (т. Е. С проводным подключением). Вот как это выглядит, включая назначения пространства IP:

(Motorola SBG6580 Cable Modem)
Router0 LAN IP: 192.168.0.1 (also the default route for both WAN connections shown next).

(Linksys E4200)
Router1 WAN IP: 192.168.0.3 
Router1 LAN IP: 192.168.1.1 (also the default route for clients on the 192.168.1.xxx subnet).

(ASUS RT-AC66U)
Router2 WAN IP: 192.168.0.4
Router2 LAN IP: 192.168.2.1 (also the default route for clients on the 192.168.2.xxx subnet).

Таким образом, в итоге, порт WAN маршрутизатора 1 и маршрутизатора 2 каждый подключается к порту локальной сети маршрутизатора 0, и оба с поддержкой NAT (то есть с NAT).

А вот таблицы маршрутизации для Router1 и Router 2 соответственно (то есть netstat -rn):

Kernel IP routing table (Router1) ... eth0 here is the WAN interface.
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.1     *               255.255.255.255 UH        0 0          0 eth0
192.168.2.0     192.168.0.4     255.255.255.0   UG        0 0          0 eth0 <========== My Static Route Entry
192.168.1.0     *               255.255.255.0   U         0 0          0 br0
192.168.0.0     *               255.255.255.0   U         0 0          0 eth0
127.0.0.0       *               255.0.0.0       U         0 0          0 lo
default         192.168.0.1     0.0.0.0         UG        0 0          0 eth0

Kernel IP routing table (Router2) ... vlan2 here is the WAN interface.
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
192.168.0.1     0.0.0.0         255.255.255.255 UH        0 0          0 vlan2
192.168.2.0     0.0.0.0         255.255.255.0   U         0 0          0 br0
192.168.1.0     192.168.0.3     255.255.255.0   UG        0 0          0 vlan2 <========== My Static Route Entry
192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 vlan2
127.0.0.0       0.0.0.0         255.0.0.0       U         0 0          0 lo
0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 vlan2

Обратите внимание на статические маршруты (на которые указывает стрелка), которые я настроил на каждом маршрутизаторе (Router1 и Router2). Их цель - предоставить клиентам в локальной сети Router1 доступ к клиентам в локальной сети Router2 и наоборот.

Но это еще не совсем работает, потому что, во-вторых, мне нужно добавить записи "iptable" на Router1 и Router2, чтобы указать каждой из них разрешить передачу ВСЕГО WAN-трафика, идущего на его локальную сеть.

Таким образом, на этом этапе, используя два проводных ПК (один подключен к подсети LAN маршрутизатора 1, а другой подключен к подсети LAN маршрутизатора 2), я могу убедиться, что работают следующие эхо-запросы:

PC1 -- 192.168.1.4: Can ping 192.168.0.4 (the WAN interface of the opposite router) and can ping 192.168.2.1 (the LAN interface of the opposite router).
PC2 -- 192.168.2.4: Can ping 192.168.0.3 (the WAN interface of the opposite router) and can ping 192.168.1.1 (the LAN interface of the opposite router).

но на этом этапе ни один компьютер не может связаться с IP-клиентами внутри локальной сети противоположного маршрутизатора. Как упомянуто выше, они могут пропинговать IP-адрес WAN противоположного маршрутизатора, и они могут пропинговать IP-адрес маршрута по умолчанию для противоположной подсети LAN, но они не могут пропинговать IP-клиентов глубже в противоположной подсети LAN.

Я полагаю, что это связано с тем, что на маршрутизаторе 1 и маршрутизаторе 2 должна быть запись IPTABLES, которая позволяет ВСЕМУ трафику, исходящему со стороны WAN, входить в сторону LAN - что практически никогда не является поведением маршрутизатора по умолчанию из соображений безопасности. Но в этом случае это безопасно, поскольку интерфейс WAN маршрутизатора 1 и маршрутизатора 2 не подключается напрямую к Интернет-провайдеру.

Поэтому мне нужно придумать команды iptables(1) (firewall) для реализации этого. Я буду перечитывать справочную страницу Unix, чтобы вспомнить синтаксис iptables.

Но, возможно, некоторые люди, которые уже хорошо знакомы с iptables, могут подсказать, какими должны быть эти команды. Для справки ниже приведена запись NAT iptables для Router1 и Router2. Каждому из них нужны соответствующие правила iptables, чтобы весь исходящий трафик WAN достигал сети LAN:

Router1 ... (вывод 'iptables -L -t nat'):

admin@RT-AC66U:/tmp/home/root# iptables -L -t nat
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
VSERVER    all  --  anywhere             192.168.0.3         

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  -- !192.168.0.3          anywhere            
MASQUERADE  all  --  anywhere             anywhere            MARK match 0xd001 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain VSERVER (1 references)
target     prot opt source               destination         
DNAT       tcp  --  anywhere             anywhere            tcp dpt:webcache to:192.168.1.1:80 
DNAT       tcp  --  anywhere             anywhere            tcp dpt:8443 to:192.168.1.1:8443 
VUPNP      all  --  anywhere             anywhere            

Chain VUPNP (1 references)
target     prot opt source               destination

Router2 ... (вывод 'iptables -L -t nat'):

Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination         
DROP       all  --  anywhere             192.168.2.0/24      
WANPREROUTING  all  --  anywhere         192.168.0.4

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination         
MASQUERADE  all  --  anywhere             anywhere            
SNAT       all  --  192.168.2.0/24       192.168.2.0/24      to:192.168.2.1 

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination         

Chain WANPREROUTING (1 references)
target     prot opt source               destination         
DNAT       icmp --  anywhere             anywhere            to:192.168.2.1

Я ценю помощь в этом (то есть команды iptables). Если я сначала доберусь до решения, я, конечно, опубликую команды iptables.

1 ответ1

0

Все делает NAT. Таким образом, 192.168.1.0 и 192.168.2.0 не существуют вне их локальных локальных сетей. Установите два внутренних маршрутизатора в "маршрутизированный" (не NAT) режим. Удачи в получении кабельного модема на NAT "чужих" адресов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .