Есть маленькая сеть. В ней сервер с двумя интернет портами eth0 и eth1. Между роутером и сервером поднят GRE-тонель.
Подскажите как сделать так, что бы весь трафик идущий на сервер с роутера с интерфейса gre0 направлялся в интернет через интерфейс eth1 и обратно?
На сервере:
net.ipv4.ip_forward = 1
iptables сервера:
iptables -P INPUT ACCEPT
iptables -P OUTPUT ACCEPT
iptables -P FORWARD DROP
iptables -P FORWARD ACCEPT
Добавлено:
Интерфейс сервера eth0 являлся основным, сервер должен использовать интернет от провайдера 1 (eth0 <-> роутер <-> интернет от 1 провайдера), а интерфейс eth1 нужен только для того, чтобы туда направить трафик из gre0, и ничего другого
Решение:
# Все пакеты c интерфейса gre0 посылать в таблицу 1000
ip rule add iif gre0 table 1000
# Все пакеты из таблицы 1000 посылать в интерфейс eth1
ip route add default dev eth1 table 1000
# И тоже самое только в другую сторону
# Все пакеты c интерфейса eth1 посылать в таблицу 1001
ip rule add iif eth1 table 1001
# Все пакеты из таблицы 1001 посылать в интерфейс gre0
ip route add default dev gre0 table 1001