Задать вопрос

Нужна помощь по IPTABLES и перебросу трафика между интерфейсами

Есть компьютер с двумя интерфейсами: etho и tun0.
Необходимо трафик, который приходит на tun0 отправлять на eth0.
Для этого в документации к программе, которая создаёт tun0 есть рекомендация к iptables.
iptables -A POSTROUTING -s 192.168.0.0/24 -t nat -o eth0 -j MASQUERADE
Но не работает. Трафик до tun0 доходит, а на eth0 не попадает.

tun0 имеет адрес 192.168.0.0
Трафик на него приходит из сети 192.168.254.0/24
На eth0 адрес 192.168.100.101

Каким правилом iptables можно заставить HTTP (да и вообще любой) трафик из сети 192.168.254.0/24 с которой приходят запросы на tun0 192.168.0.0 отдавать дальше на 192.168.100.101?
  • Вопрос задан
  • 12380 просмотров
Подписаться 2 Оценить Комментировать
Пригласить эксперта
Ответы на вопрос 6
shadowalone
@shadowalone
1. что значит tun0 имеет адрес 192.168.0.0 — такого быть не может
2. проверьте включен ли форвардинг. net.ipv4.ip_forward=1 в файле /etc/sysctl.conf

Описывайте внятно, иначе ничего не понять.
Ответ написан
Gasoid
@Gasoid
openvpn
включить надо форвардинг пакетов как shadowalone написал и далее уже
iptables -A POSTROUTING -s 192.168.0.0/24 -t nat -o eth0 -j MASQUERADE
Ответ написан
Комментировать
@smartlight
вообще то openvpn должен работать без iptables, т.е. если все политики выставить в ACCEPT, то всё упрется в роутинг.
ip ro вам в помощь.

и не забудте про:

# Allow TUN interface connections to OpenVPN server
$IPTABLES -A INPUT -i tun+ -j ACCEPT

# Allow TUN interface connections to be forwarded through other interfaces
$IPTABLES -A FORWARD -i tun+ -j ACCEPT

и про

$IPTABLES -A FORWARD -s $OPENVPN_RANGE -d $LAN_RANGE -j ACCEPT
$IPTABLES -A FORWARD -s $LAN_RANGE -d $OPENVPN_RANGE -j ACCEPT
Ответ написан
Комментировать
TITnet
@TITnet Автор вопроса
QA
Частично заработало после отключения rf фильтров.
Но осталась проблема обратного прохода пакетов.
Трафик из tun0 теперь попадает на eth0, а вот обратные пакеты теряются на eth0 и не попадают на tun0.
Что ещё можно покурить?
Ответ написан
Комментировать
TITnet
@TITnet Автор вопроса
QA
Господа, всем огромнейшее спасибо за помощь.
Задача осложнялась тем, что я пытался помочь удалённо человеку это всё настроить, который далёк от Линукса.
В итоге всё настроили и всё заработало, трафик идёт в обе стороны как и должно было быть.
Ещё раз спасибо всем.
Ответ написан
@Fetos
Уважаемые, огромное спасибо за комментарии, очень помогли. Есть вопрос, подскажите пожалуйста, как настроить iptables так, чтобы не вся внутренняя сеть была открыта, а только 1 ip адрес ? Спасибо!
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

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