LINUX.ORG.RU
ФорумAdmin

Помогите разобраться с виртуальным роутером на kvm

 , ,


1

2

Всем привет! Помогите разобраться с роутером на виртуалке под KVM. На сервере стоит CentOS Linux release 7.2.1511 (Core) с последними обновлениями, при установке выбирал вариант хост виртуализации. Есть 4 сетевые карты enp3s0 - lan 192.168.0.20, enp4s0 - lan, enp5s2 - internet1, enp5s3 - internet2.

Виртуалку настраивал через virt-manager ,стоит Ubuntu 14.04.5 LTS обновлённая, есть 3 стевые карты (драйвер virtio): eth0 (режим bridge на enp3s0) - lan 192.168.0.19, eth1 (режим passthrough на enp5s2) - internet1 212.XXX.XXX.XXX, eth2 (режим passthrough на enp5s3) - internet2 217.XXX.XXX.XXX. Стоит OpenVPN 2.3.2-7ubuntu3.1 с интерфейсом tun0 10.1.1.1, раздаётся интернет в локальную сеть. Не получается пробросить RDP 3389 на сервер в локальной сети, пытался черезе vpn (10.1.1.1) пробросить и напрямую с внешнего ip 217.XXX.XXX.XXX, никак не получается.

iptables-save

# Generated by iptables-save v1.4.21 on Fri Dec 2 14:11:16 2016 *mangle

:PREROUTING ACCEPT [68:5793]

:INPUT ACCEPT [68:5793]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [35:3300]

:POSTROUTING ACCEPT [35:3300]

-A PREROUTING -s 192.168.0.0/24 -j MARK --set-xmark 0x2/0xffffffff

COMMIT

# Completed on Fri Dec 2 14:11:16 2016

# Generated by iptables-save v1.4.21 on Fri Dec 2 14:11:16 2016

*filter

:INPUT ACCEPT [28:3029]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [55:5620]

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -p icmp -j ACCEPT

-A INPUT -i tun0 -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth1 -p udp -m conntrack --ctstate NEW -m udp --dport 1194 -j ACCEPT

-A INPUT -i eth2 -p udp -m conntrack --ctstate NEW -m udp --dport 1194 -j ACCEPT

-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 10000 -j ACCEPT

-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 10050 -j ACCEPT

-A INPUT -i tun0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -i tun0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 10000 -j ACCEPT

-A INPUT -i eth1 -j DROP

-A INPUT -i eth2 -j DROP

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A FORWARD -p icmp -j ACCEPT

COMMIT

# Completed on Fri Dec 2 14:11:16 2016

# Generated by iptables-save v1.4.21 on Fri Dec 2 14:11:16 2016

*nat

:PREROUTING ACCEPT [14:1536]

:INPUT ACCEPT [14:1536]

:OUTPUT ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A PREROUTING -d 217.XXX.XXX.XXX/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.11:3389

-A PREROUTING -d 10.1.1.1/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.98.0:3389

-A POSTROUTING -o eth1 -j MASQUERADE

-A POSTROUTING -o eth2 -j MASQUERADE

-A POSTROUTING -o tun0 -j MASQUERADE

-A POSTROUTING -m mark --mark 0x1 -j SNAT --to-source 212.XXX.XXX.XXX

-A POSTROUTING -m mark --mark 0x2 -j SNAT --to-source 217.XXX.XXX.XXX

COMMIT

# Completed on Fri Dec 2 14:11:16 2016

iptstate -d 10.1.1.1

IPTState - IPTables State Top

Version: 2.2.5 Sort: SrcIP b: change sorting h: help Filters: dst: 10.1.1.1

Source Destination Prt State TTL

10.1.1.6:39674 10.1.1.1:3389 tcp SYN_SENT 0:01:53

tcpdump -i tun0

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes

14:44:38.455458 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags S, seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686062 ecr 0,nop,wscale 6], length 0

14:44:39.448837 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags S, seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686162 ecr 0,nop,wscale 6], length 0

14:44:41.449791 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags S, seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686363 ecr 0,nop,wscale 6], length 0

14:44:45.471728 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags S, seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686764 ecr 0,nop,wscale 6], length 0

4 packets captured 4 packets received by filter 0 packets dropped by kernel

Что я делаю не так?



Последнее исправление: Shools (всего исправлений: 2)

Каши хватает ( информации мало), но для начала посмотрите tcpdump на соответствующем (исходящем) интерфейсе. А вообще нифга не понятно что на самом хосте что на госте с роутингом и настройками интерфейсов.

anc ★★★★★
()

Извиняюсь за мою форумную безграмотность, просто первый раз пишу на форум.

Никак не пробрасывается RDP на внутренний сервер (ни через vpn, ни на прямую), по открытым портам подключиться могу, интернет виртуалка раздаёт в сеть. Что не так?

Настройки роутера (виртуалка Ubuntu 14.04)

iptables-save


# Generated by iptables-save v1.4.21 on Fri Dec 2 14:11:16 2016 *mangle

:PREROUTING ACCEPT [68:5793]

:INPUT ACCEPT [68:5793]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [35:3300]

:POSTROUTING ACCEPT [35:3300]

-A PREROUTING -s 192.168.0.0/24 -j MARK --set-xmark 0x2/0xffffffff

COMMIT

# Completed on Fri Dec 2 14:11:16 2016

# Generated by iptables-save v1.4.21 on Fri Dec 2 14:11:16 2016

*filter

:INPUT ACCEPT [28:3029]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [55:5620]

-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A INPUT -i eth0 -p icmp -j ACCEPT

-A INPUT -i tun0 -p icmp -j ACCEPT

-A INPUT -i lo -j ACCEPT

-A INPUT -i eth1 -p udp -m conntrack --ctstate NEW -m udp --dport 1194 -j ACCEPT

-A INPUT -i eth2 -p udp -m conntrack --ctstate NEW -m udp --dport 1194 -j ACCEPT

-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 10000 -j ACCEPT

-A INPUT -i eth0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 10050 -j ACCEPT

-A INPUT -i tun0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 22 -j ACCEPT

-A INPUT -i tun0 -p tcp -m conntrack --ctstate NEW -m tcp --dport 10000 -j ACCEPT

-A INPUT -i eth1 -j DROP

-A INPUT -i eth2 -j DROP

-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT

-A FORWARD -p icmp -j ACCEPT

COMMIT

# Completed on Fri Dec 2 14:11:16 2016

# Generated by iptables-save v1.4.21 on Fri Dec 2 14:11:16 2016

*nat

:PREROUTING ACCEPT [14:1536]

:INPUT ACCEPT [14:1536]

:OUTPUT ACCEPT [0:0]

:POSTROUTING ACCEPT [0:0]

-A PREROUTING -d 217.XXX.XXX.XXX/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.11:3389

-A PREROUTING -d 10.1.1.1/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.11:3389

-A POSTROUTING -o eth1 -j MASQUERADE

-A POSTROUTING -o eth2 -j MASQUERADE

-A POSTROUTING -o tun0 -j MASQUERADE

-A POSTROUTING -m mark --mark 0x1 -j SNAT --to-source 212.XXX.XXX.XXX

-A POSTROUTING -m mark --mark 0x2 -j SNAT --to-source 217.XXX.XXX.XXX

COMMIT

# Completed on Fri Dec 2 14:11:16 2016

tcpdump -i tun0


tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

listening on tun0, link-type RAW (Raw IP), capture size 65535 bytes

14:44:38.455458 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags [S], seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686062 ecr 0,nop,wscale 6], length 0

14:44:39.448837 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags [S], seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686162 ecr 0,nop,wscale 6], length 0

14:44:41.449791 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags [S], seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686363 ecr 0,nop,wscale 6], length 0

14:44:45.471728 IP 10.1.1.6.39675 > 10.1.1.1.3389: Flags [S], seq 3473071785, win 65535, options [mss 1352,sackOK,TS val 36686764 ecr 0,nop,wscale 6], length 0

4 packets captured 4 packets received by filter 0 packets dropped by kernel

iptstate -d 10.1.1.1


IPTState - IPTables State Top

Version: 2.2.5	Sort: SrcIP	b: change sorting	h: help Filters: dst: 10.1.1.1

Source	Destination	Prt State	TTL

10.1.1.6:39675	10.1.1.1:3389	tcp SYN_SENT	0:01:53

Настройки openvpn

сервер


port 1194
proto udp
dev tun0
ca keys/vpn_server/ca.crt
cert keys/vpn_server/server.crt
key keys/vpn_server/server.key
dh keys/vpn_server/dh2048.pem
server 10.1.1.0 255.255.255.0
crl-verify keys/vpn_server/crl.pem
ifconfig-pool-persist servers/vpn_server-1c/logs/ipp.txt
cipher AES-128-CBC
user nobody
group nogroup
status servers/vpn_server-1c/logs/openvpn-status.log
log-append servers/vpn_server-1c/logs/openvpn.log
verb 2
mute 20
max-clients 100
management 127.0.0.1 7794
keepalive 10 120
client-config-dir /etc/openvpn/servers/vpn_server-1c/ccd
comp-lzo
persist-key
persist-tun
ccd-exclusive

клиент


client
proto udp
dev tun
ca ca.crt
dh dh2048.pem
cert admin.crt
key admin.key
remote 217.XXX.XXX.XXX 1194
cipher AES-128-CBC
verb 2
mute 20
keepalive 10 120
comp-lzo
persist-key
persist-tun
float
resolv-retry infinite
nobind

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

интернет виртуалка раздаёт в сеть.Что не так?

В тему не вчитывался - раз у вас виртуалка является роутером, то у вас поидее должен счетчик пакетов в цепочке форвард увеличиваться. А он у вас [0:0] .

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

Я выше написал уже «но для начала посмотрите tcpdump на соответствующем (исходящем) интерфейсе.»

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

Форвард [0:0], так как виртуалка пока в тестовом режиме, пользователи получают интернет от резервного роутера (собранного из простого компа), кстати, на нём настройки те же. Но на резервном роутере правило проброса работает без проблем.

-A PREROUTING -d 217.XXX.XXX.XXX/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.11:3389 

А вот проброс через VPN не работете

-A PREROUTING -d 10.1.1.1/32 -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.0.11:3389
Shools
() автор топика
Ответ на: комментарий от Shools

Обрати внимание не только на собственно NAT правила, но и на маршрутизацию как на роутере, так и на других компьютерах.

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