Связать входящие пакеты с одним интерфейсом и исходящими пакетами со вторым интерфейсом?

У меня есть машина Linux с 2 сетевыми интерфейсами, мне нужно использовать один для входящих пакетов, другой для исходящих пакетов.

Текущий сценарий

  • Скорость вращения вентилятора не увеличивается в OpenSUSE. Pwmconfig не обнаруживает вентилятор
  • Как копировать символические ссылки?
  • Корневые файлы Rsync между системами без указания пароля
  • Как настроить Linux на использование другого DNS-сервера для определенного домена?
  • Как просыпаться от заставки непосредственно к экрану входа в Ubuntu
  • Ноутбук не загружается с обновлением ОЗУ
  • Как я могу «grep» рекурсивно фильтровать имя файлов, которые я хочу с помощью подстановочных знаков?
  • Как восстановить контрольную сумму энергонезависимой памяти (NVM) контроллера Ethernet I219-V ноутбука ASUS?
  • One Solution collect form web for “Связать входящие пакеты с одним интерфейсом и исходящими пакетами со вторым интерфейсом?”

    Если вы согласны использовать один IP / префикс на вашем компьютере (назовем его XXXX / Y, со шлюзом GGGG), тогда его можно сделать тривиально.

    • Добавьте свой адрес в eth0 , но с полной подсети.

      Например, ip addr add XXXX/32 dev eth0

    • Не устанавливайте адрес на eth1. Если он есть, очистите его с помощью ip -4 addr flush dev eth1

    • Добавьте маршруты подсети и шлюза через eth1

      ip route add XXXX/Y dev eth1 ip route add default via GGGG dev eth1

    • Если на Ubuntu или в других дистрибутивах Linux, которые по умолчанию разрешают фильтрацию обратного пути, отключите его, поскольку они предполагают и обеспечивают симметричную маршрутизацию.

      sysctl -w net.ipv4.conf.eth0.rp_filter = 0 sysctl -w net.ipv4.conf.eth1.rp_filter = 0

    • Если оба сетевых интерфейса подключены к коммутатору, вам не нужно отвечать на ARP на eth1. Поскольку мы добавили IP-адрес в eth0 , мы можем просто установить arp_ignore на eth1 на 1 (только ответ ARP для адресов eth1 ) или 8 (ничего не ответьте).

      sysctl -w net.ipv4.conf.eth1.arp_ignore = 8

    Как только эта конфигурация будет завершена, будет только один трафик, который будет протекать в обратном порядке: если ядро ​​получает ARP-запрос для XXXX от eth0 , он ответит с помощью eth0 .

    Interesting Posts
    Давайте будем гением компьютера.