У меня есть система с тремя сетевыми интерфейсами. Ниже приведена конфигурация, которую я пытаюсь настроить. wlan0 (на самом деле это интерфейс AP WiFi) - другие устройства подключаются через этот интерфейс. net1 - интерфейс, обращенный к Интернету, который должен быть подключен к wlan0 для предоставления интернет-услуг устройствам, подключенным через wlan0. net0 - интерфейс с ограниченным доступом к Интернету для ответа на запросы только для запросов из этой подсети.
Интерфейс по умолчанию - net0 и его шлюз. Вывод ip route show выглядит следующим образом:
default via 10.228.103.241 dev net0
10.228.103.240/30 dev net0 src 10.228.103.242
Теперь я хотел бы, чтобы система посмотрела в таблице 7 правила маршрута для всех запросов к eth0 и net1. Поэтому я создал IP-правила, как показано ниже:
0: from all lookup local
32758: from all lookup main
32762: from 8.8.0.0/16 lookup iTbl
32764: from 192.168.225.1 lookup iTbl
32765: from 192.168.172.2 lookup iTbl
32767: from all lookup default
8.8.0.0 для серверов имен. Он указан как iTbl, потому что я определил 7 как iTbl в /etc /iproute2 /rt_tables.
ip route show для таблицы 7 выглядит так:
default via 192.168.172.3 dev net1
8.8.0.0/16 via 192.168.172.3 dev net1
192.168.172.0/24 dev net1 src 192.168.172.2
192.168.225.0/24 dev wlan0 src 192.168.225.1
И, наконец, мой iptables выглядит так:
iptables -nvL
Chain INPUT (policy ACCEPT 245 packets, 49904 bytes)
pkts bytes target prot opt in out source destination
Chain FORWARD (policy ACCEPT 0 packets, 0 bytes)
pkts bytes target prot opt in out source destination
3 180 ACCEPT all -- wlan0 * 0.0.0.0/0 0.0.0.0/0
Chain OUTPUT (policy ACCEPT 190 packets, 19182 bytes)
pkts bytes target prot opt in out source destination
iptables -nvL -t nat
Chain PREROUTING (policy ACCEPT 22 packets, 2205 bytes)
pkts bytes target prot opt in out source destination
Chain INPUT (policy ACCEPT 21 packets, 2145 bytes)
pkts bytes target prot opt in out source destination
Chain OUTPUT (policy ACCEPT 91 packets, 7782 bytes)
pkts bytes target prot opt in out source destination
Chain POSTROUTING (policy ACCEPT 90 packets, 7226 bytes)
pkts bytes target prot opt in out source destination
2 616 MASQUERADE all -- * net1 0.0.0.0/0 0.0.0.0/0
Когда я подключил устройство к интерфейсу wlan0 и попытался просмотреть интернет, tcpdump показывает, что все запросы от wlan0, похоже, идут через net0, который на самом деле должен проходить через net1, желательно. Я прочитал много постов и форумов. Попробовав разные вещи, я не смог решить проблему. Я не могу понять, где все идет не так. Из tcpdump и его логического рассмотрения кажется, что поиск правила ip в таблице 7 не работает. Пожалуйста, помогите проверить, должно ли быть исправлено какое-либо из правил.