Маршрутизация пересылаемых пакетов отличается от исходящей

Алан, вы думали о том, чтобы добавить его в список рассылки linux-bluetooth? http://marc.info/?l=linux-bluetooth Хотя в большинстве сообщений есть исправления и ошибки, некоторые вопросы касаются таких вещей, а большинство ответы на эти вопросы.

С уважением, Рами Розен

2
19.07.2017, 18:46
2 ответа

Один из способов — пометить трафик в iptables и сопоставить исходящий маршрут с политикой маршрутизации:

допустим, у вас есть шлюз1 и шлюз2 в одной локальной сети...

ip route flush table 3
ip route add table 3 <lan net>
ip route add default via <gateway1>

ip route flush table 4
ip route add table 4 <lan net>
ip route add default via <gateway2>

Пометить трафик в iptables:

iptables -t mangle -A PREROUTING   -s 10.0.0.0/24 -j MARK --set-mark 3
iptables -t mangle -A PREROUTING   -s 10.1.0.0/24 -j MARK --set-mark 4

Вы можете сопоставить что угодно: адрес источника, адрес назначения или порт и т. д.

Поскольку вы явно переписываете исходный IP-адрес в iptables, а не полагаетесь на динамический IP-адрес шлюза, вы, вероятно, захотите использовать SNAT вместо MASQUERADE. См. Различия между SNAT и MASQUERADE

.
2
27.01.2020, 22:09

Отредактируйте /etc/sysctl.conf и добавьте/отредактируйте параметр «net.ipv4.ip _forward».

net.ipv4.ip_forward=1

Для немедленных изменений запустите:

sysctl net.ipv4.ip_forward=1

правила iptables:

iptables -A FORWARD -i input_dev -j ACCEPT
iptables -t nat -A POSTROUTING -o output_dev --src src_ip -j MASQUERADE
1
27.01.2020, 22:09

Теги

Похожие вопросы