У меня есть eth0 с IP X.X.X.X и eth0: 0 с IP Y.Y.Y.Y.
Моя цель - если я подключусь к eth0, тогда выходной ip должен быть X.X.X.X, а если я подключусь к eth0: 0, выходной ip должен быть Y.Y.Y.Y.
Пример:
VPN-клиент подключается к eth0 (IP X.X.X.X) - & gt; IP X.X.X.X
VPN-клиент подключается к eth0: 0 (Y.Y.Y.Y) - & gt; ИП Ю.Ю.Ю.
VPN-клиент подключается к eth0: 1 (ZX.ZX.ZX.ZX) - & gt; IP ZX.ZX.ZX.ZX
VPN-клиент подключается к eth0: 2 (ZY.ZY.ZY.ZY) - & gt; ИП ЗЫ.ЗЫ.ЗЫ.ЗЫ
VPN-клиент подключается к eth0: 3 (ZA.ZA.ZA.ZA) - & gt; ИП ЗА.ЗА.ЗА.ЗА
Прямо сейчас всегда X.X.X.X
Я попробовал iptables, но это не работает ..
iptables -A FORWARD -i eth0 -o eth1 -j ACCEPT
ip_forward равен 1
ТАКЖЕ пробовал ip route
Я думаю, что правильный путь - это установить маршрут?
linux
networking
routing
iptables
George
источник
источник
Ответы:
Вам нужен маскарадинг (NAT) для клиентов VPN. Что-то вроде:
iptables -A POSTROUTING -s (subnet of vpn clients) -j MASQUERADE
если ваш сервер vpn назначает клиентов, например, на 192.168.1.0/24, укажите это в качестве аргумента -s.
источник
Это связано с маршрутом по умолчанию, а не с iptables. Если вы хотите переключить шлюз по умолчанию, выполните следующие команды:
IP-адрес шлюза - это шлюз или маршрутизатор для подсети этого интерфейса. Таким образом, если eth1 находится на Y.Y.Y.Y и маска сети равна 255.255.255.0, шлюз должен находиться в той же подсети (например, что-то на Y.Y.Y. *). Вы можете иметь только один шлюз по умолчанию за раз, если вы не используете специализированную настройку.
источник
ip
команда, но, возможно, он рассматривает eth0: 0 как эквивалентный eth0. Я не совсем уверен.Решение:
BB.BB.BB.BB = исходный IP
Это оно!
источник