
На моем сервере у меня есть два сетевых адаптера, eth0, который является выделенным интерфейсом, и eth1, который настроен как trunk на моем vmware. В eth1 мне нужно создать несколько vlan. Я смог это сделать, но я не могу перенаправить трафик между каждым vlan. Например:
eth1.96
ip: 192.168.3.2/24
The gateway of this vlan is 192.168.3.1
Когда я делаю ping -I 192.168.3.2 192.168.3.1, возвращается сообщение о недоступной сети. Похоже, что я упускаю маршрут.
решение1
Помимо правильной настройки сетевых карт, VLAN и сетей, для маршрутизации на вашем сервере Linux вам также необходимо добавить в файл /etc/sysctl.conf следующие строки:
Первый для IP-пересылки:
net.ipv4.ip_forward = 1
Второй — для отключения правил антиспуфинга, чтобы иметь возможность использовать несколько сетей в одной и той же сетевой карте:
net.ipv4.conf.all.rp_filter=0
Чтобы активировать эти правила, выполните следующие действия:
sudo sysctl -p
решение2
Смотри ip route
команду.
Если бы вы запустили, ip route list
вы бы не увидели 192.168.3.0
в своей таблице маршрутизации.
Вы можете создать маршрут, используя:
ip route add [IP]/[PREFIX] dev [INTERFACE] via [GATEWAY]
Есть и другие варианты. Проверьте, man ip-route
нужна ли вам большая гибкость.
Итак, для вашего примера вам необходимо:
ip route add 192.168.3.0/24 dev eth1 via 192.168.3.1