LINUX.ORG.RU
ФорумAdmin

Не работает NAT в CentOS на KVM

 , , ,


0

1

Здравствуйте.

Имеем виртуальную машину работающую на KVM в нутри которой CentOS 7.

В качестве фаерволла используется iptables.

И ко всему прочему на машинке стоит OpenVPN.

Задача трафик приходящий из tun0 натить и отправлять в eth0.

Пытаюсь сделать это таким правилом

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Но чуда не происходит.

Заранее извиняюсь за за некомпетентный вопрос, с Linux машинами в качестве роутеров работаю впервые, до этого опыт только с BSD.

Ответ на: комментарий от dhameoelin

Между tun0 и eth0 как я понимаю?

Костыльно но разрешил

iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -j ACCEPT
iptables -A FORWARD -o eth0 -j ACCEPT
iptables -A FORWARD -i tun0 -j ACCEPT
iptables -A FORWARD -o tun0 -j ACCEPT

Кстати, как понять что iptables вообще работает? До этого работал firewalld, он реально работал но делая настройку по одной из статей я отключил firewalld и заменил его на iptables.

Rostov114
() автор топика
Ответ на: комментарий от dhameoelin

# System default settings live in /usr/lib/sysctl.d/00-system.conf.
# To override those settings, enter new settings here, or in an /etc/sysctl.d/<name>.conf file
#
# For more information, see sysctl.conf(5) and sysctl.d(5).
net.ipv4.ip_forward = 1

Это то да.

Rostov114
() автор топика
Ответ на: комментарий от Rostov114
iptables -A FORWARD -m state --state ESTABLISHED,RELATED -j ACCEPT
iptables -A FORWARD -i eth0 -o tun0 -m state --state NEW -j ACCEPT
iptables -A FORWARD -o eth0 -i tun0 -m state --state NEW -j ACCEPT

2-3 строки лучше так, имхо, если у тебя задача только шлюз VPN<->LAN. 4-5, ессно, выкинуть в таком случае.

dhameoelin ★★★★★
()
Последнее исправление: dhameoelin (всего исправлений: 1)
Ответ на: комментарий от generator

tcpdump eth0

12:50:46.578427 IP OVPN_SERVER.commplex-main > ROUTHER.54091: Flags [P.], seq 190:285, ack 191, win 1028, options [nop,nop,TS val 1056301788 ecr 6630549], length 95
12:50:46.578572 IP ROUTHER > 207.241.224.2: ICMP echo request, id 288, seq 1414, length 36
12:50:46.603152 IP ROUTHER.54091 > OVPN_SERVER.commplex-main: Flags [P.], seq 191:286, ack 285, win 31620, options [nop,nop,TS val 6631571 ecr 1056301788], length 95

tcpdump eth0

12:57:01.201060 IP 10.64.39.253 > 207.241.224.2: ICMP echo request, id 288, seq 1415, length 36
12:57:01.229133 IP 194.68.128.187 > 10.64.39.253: ICMP time exceeded in-transit, length 36
12:57:01.975956 IP 10.64.39.253 > 207.241.224.2: ICMP echo request, id 288, seq 1410, length 36
12:57:01.976008 IP 172.16.64.10 > 10.64.39.253: ICMP time exceeded in-transit, length 64

OVPN_SERVER - внешний IP адрес VPN сервера ROUTHER - внешний IP адрес роутера на котором собственно и нужен nat 207.241.224.2 - узел который мы пингуем. 10.64.39.253 - узел c которого мы пингуем, узел за VPN.

Rostov114
() автор топика

трафик приходящий из tun0 натить и отправлять в eth0.

Что за бред ламерский?

SNAT работает на выходе, т.е. сначала трафик должен попасть в eth0, а туда он попадет в соотв. с сетевыми маршрутами, возможно сначала понадобится DNAT, чтобы сработали нужные маршруты.

Вобщем, при данном тобой описании задачи — она (задача) не решаема.

anonymous
()
Ответ на: комментарий от Rostov114

Судя по дампам, нат отрабатывает нормально, но есть проблемы с маршрутизацией до хоста где-то между твоим провайдером и этим хостом включительно.

anonymous
()
Ответ на: комментарий от anonymous
[root@ovpn ~]# traceroute -n 207.241.224.2
traceroute to 207.241.224.2 (207.241.224.2), 30 hops max, 60 byte packets
 1  x.x.x.x  10.044 ms  10.014 ms  9.993 ms
 2  77.73.25.13  0.512 ms  0.503 ms  0.502 ms
 3  87.245.229.193  0.504 ms  1.248 ms  1.239 ms
 4  87.245.233.134  24.443 ms  24.447 ms  24.478 ms
 5  194.68.128.187  24.725 ms  25.238 ms  25.201 ms
 6  72.52.92.81  47.538 ms  48.282 ms  48.332 ms
 7  72.52.92.13  58.345 ms  58.365 ms  57.654 ms
 8  184.105.213.93  140.188 ms  141.125 ms  132.040 ms
 9  184.105.213.177  189.637 ms  188.656 ms  199.902 ms
10  184.105.81.86  211.942 ms  212.325 ms  211.812 ms
11  65.49.10.214  196.331 ms  196.306 ms  196.286 ms
12  207.241.224.2  206.515 ms  211.341 ms  211.235 m

Митика но, если с самого роутера пинговать то все нормально.

Rostov114
() автор топика
Ответ на: комментарий от Rostov114

Нарисуй схему своей сети так же, как здесь. Покажи вывод команд

ip a
ip r
ip ru
iptables-save
с openvpn-сервера и роутера.

anonymous
()
Ответ на: комментарий от vxzvxz

Я уже начинаю бояться заходить в /admin/. В шапке здесь, по ходу, надо фейспалм поставить.

berrywizard ★★★★★
()
Ответ на: комментарий от Rostov114

Кстати, как понять что iptables вообще работает

# iptables -nvL -t nat

Там смотри количество попаданий в каждое правило.

Gu4
()
Ответ на: комментарий от Gu4

сразу скажу я второй анонимус;

и по bsd также пичаль, но мне кажется надо | (не i) в раветере править, ну, ну же, я прав?

anonymous
()
Ответ на: комментарий от Gu4

Страшный каммент, от няшечки, у которой в аватарке альфа-бета-гамма и «гу-фо» в транскрипте ника, иди проспись, твоя маленькая старшая сестрёнка вытряхнула половичёк для собаки. --> Л е ж а т ь!!!

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.