LINUX.ORG.RU

2
Всего сообщений: 55

ip route, iptables, gre - всё вместе

Добрый день, подскажите пожалуйста. Есть три виртуалки. А (eth1: 192.168.100.100/24), B (eth1: 192.168.100.254/24, eth2:4.4.4.2/24, 10.10.10.2/24 - gre tunnel), C (eth1: 172.16.100.254/24, eth2:5.5.5.2/24, 10.10.10.3/24 - gre tunnel)

Сама задача: между В и С должен быть туннель, и свободно пинговаться все подсети между собой по внутренним адресам, т.е.: А(192.168.100.100) > С (172.16.100.254) В(192.168.100.254) > C (172.16.100.254) C(172.16.100.254) > B (192.168.100.254) C(172.16.100.254) > A (192.168.100.100)

Для поднятия gre туннеля направил друг на друга 4.4.4.2 и 5.5.5.2 через ip route. Gre спокойно пингуется по присвоенным адресам с B (10.10.10.2) к C (10.10.10.3) и наоборот.

Так как дальше машины B у меня есть сетка 192.168.100.0/24, а именно машина А (192.168.100.100/24), прописываю маршрут на С: ip route add 192.168.100.0/24 via 172.16.100.254. Ну и в обратном порядке прописываю на B для подсети 172.16.100.0/24.

Таким образом, пингуется конечная точка с С на B (192.168.100.254) через туннель, однако А уже не пингуется, т.е. 192.168.100.100 не проходит с С (172.16.100.254). Что ещё нужно добавить?

Также хотелось бы с А (192.168.100.100) пинговать С (172.16.100.254). Для этого в А я прописываю gateway B (192.168.100.254), так как вход в туннель именно на В, но трафик то на В в туннель уходит с другого интерфейса и с другого ip (10.10.10.2/24), как выполнить переброс или прописать маршруты, подскажите пожалуйсат?

 , , ,

copy_past ()

Не проходит пинг gre tunnel

Добрый день. Подскажите по поводу gre туннеля. У меня две виртуалки, на обеих Debian и стоит только сетевой адаптер типа Сетевой мост. У 1ВМ ip 192.168.50.2, у 2ВМ ip 172.16.50.2. Создаю туннель командами: На 1ВМ: $ sudo ip tunnel add gret mode gre remote 172.16.50.2 local 192.168.50.2 ttl 255 $ sudo ip link set gret up $ sudo ip addr add 10.10.10.1/24 dev gret

На 2ВМ: $ sudo ip tunnel add gret mode gre remote 192.168.50.2 local 172.16.50.2 ttl 255 $ sudo ip link set gret up $ sudo ip addr add 10.10.10.2/24 dev gret

Но пинг не проходит, modprobe ip_gre включен, ip_forward стоит 1, AppArmor отключен, iptables пустой. Может я не совсем понял сам принцип технологии и где-то что-то не доглядел, подскажите пожалуйста.

 , , ,

copy_past ()

GRE и приоритизация

Вопрос админам не локалхоста.

Столкнулись с задачей приоритизации трафика в GRE-туннеле.

Что происходит со значением ToS при инкапсуляции? Оно копируется из внутреннего IP-заголовка во внешний? Возможны случаи инкапсуляции нескольких пакетов в один? Что тогда происходит с меткой?

Также буду благодарен, если укажете место в документации (в RFC, например), где это описано.

 , , , ,

Evenik ()

Аномалии с OVH и GRE туннелем.

В общем. Решил значит я подключить к Hetznery защиту через VPS OVH. Купил сервер, провёл туннель. Вроде всё шло хорошо, но когда началась атака, случился тотальный кабздец. Потери стали больше 30%, всё висло, вылетало, было грустно. Месяц я пытался понять в чём проблема, пока не попробовал проверить потерю без туннеля. И что думаете - потерь нет.

То есть при одинаковых условиях через GRE туннель потери 30%+, через просто TCP подключение потерь нет. Попробовал поставить IPIP туннель, тут всё еще веселее, при включении защиты OVH он просто дропает все входящие пакеты. (у меня конечно же добавлены все нужные айпи в вайтлист файрволла OVH, проблема не в этом)

Никто не знает как можно попробовать решить ситуацию? Я предполагаю что OpenVPN может решить проблему, потому что там пакеты идут не через туннелирование, а просто через интернет, но всё таки хочется докопаться до истины и починить GRE туннель. За любую информацию заранее благодарю

 ,

romashka_eto_ia ()

Не работает GRE туннель

Здравствуйте. Есть задача поднять GRE туннель между двумя машинами, для того, чтобы перебрасывать пакеты с первого сервера на второй, пряча тем самым белый ip второго сервера. После настройки туннеля на обоих серверах пинг не пошел.

  • Первый сервер это Amazon EC2 instance. OS - Debian
  • Второй сервер это арендованный сервер, но не Amazon. Операционная система на нем та же Debian.

На первом сервере в /etc/network/interfaces следущее:

auto tun0
iface tun0 inet static
    address 192.168.10.1
    netmask 255.255.255.0
    broadcast 192.168.10.255
    up ifconfig tun0 multicast
    pre-up modprobe ip_gre
    pre-up iptunnel add tun0 mode gre local $server1ip remote $server2ip ttl 225 dev ens5
    pointopoint 192.168.10.2
    post-down iptunnel del tun0

На втором сервере в /etc/network/interfaces

auto tun0
iface tun0 inet static
    address 192.168.10.2
    netmask 255.255.255.0
    broadcast 192.168.10.255
    up ifconfig tun0 multicast
    pre-up modprobe ip_gre
    pre-up iptunnel add tun0 mode gre local $server2ip remote $server1ip ttl 225 dev enp1s0
    pointopoint 192.168.10.1
    post-down iptunnel del tun0

ifconfig на первом сервере для tun0:

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 8977
        inet 192.168.10.1  netmask 255.255.255.255  destination 192.168.10.2
        inet6 fe80::200:5efe:d33:aff5  prefixlen 64  scopeid 0x20<link>
        unspec 0D-33-AF-F5-30-30-30-3A-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 11  dropped 0 overruns 0  carrier 11  collisions 0

ifconfig на втором сервере для tun0:

tun0: flags=4305<UP,POINTOPOINT,RUNNING,NOARP,MULTICAST>  mtu 1476
        inet 192.168.10.2  netmask 255.255.255.255  destination 192.168.10.1
        inet6 fe80::200:5efe:b989:e919  prefixlen 64  scopeid 0x20<link>
        unspec B9-89-E9-19-30-30-30-3A-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 18  bytes 1260 (1.2 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

Если делать пинг, то он просто не идет. Запрета на пинг на обоих серверах нету. Собственно в этом и состоит проблема. Прошу помощи в этом вопросе.

 , , ,

vlad_churilo ()

Перенаправление трафика через туннель

Есть 2 сервера: x.x.x.x и y.y.y.y, сейчас между ними есть gre туннель, весь трафик с x.x.x.x идёт на y.y.y.y. Проблема заключается в том, что я с сервера x.x.x.x не могу слушать айпи y.y.y.y поэтому приходится слушать x.x.x.x и просто перенаправлять трафик, что создает дыры в безопасности и даёт возможность узнать айпи x.x.x.x, ибо на машине работают несколько человек.

Можно ли каким то образом с машины x.x.x.x слушать айпи y.y.y.y, или допустим взять еще один айпи y.y.y.y2 и слушать его?

 , ,

romashka_eto_ia ()

GRE lt40<>lt40 yota

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

Который день бьюсь с задачей, ни как не получается настроить правильную работу туннеля GRE. Перекопал весь интернет, но правильно сформулировать вопрос не могу, т.к. не знаю в чем точно затык. Делал тупо по инструкции от производителя. Туннель формируется, но пинг не проходит (на интерфейсе wan приходит пакет, но ответ от него unreachable)

Первое устройство:

iptables-save

# Generated by iptables-save v1.6.2 on Thu Jul  1 14:06:33 2021
*raw
:PREROUTING ACCEPT [3552:595142]
:OUTPUT ACCEPT [1727:213867]
:zone_lan_helper - [0:0]
-A PREROUTING -i br-lan -m comment --comment "!fw3: lan CT helper assignment" -j zone_lan_helper
COMMIT
# Completed on Thu Jul  1 14:06:33 2021
# Generated by iptables-save v1.6.2 on Thu Jul  1 14:06:33 2021
*nat
:PREROUTING ACCEPT [2240:511378]
:INPUT ACCEPT [54:3572]
:OUTPUT ACCEPT [200:9052]
:POSTROUTING ACCEPT [0:0]
:postrouting_VPN_rule - [0:0]
:postrouting_lan_rule - [0:0]
:postrouting_rule - [0:0]
:postrouting_wan_rule - [0:0]
:prerouting_VPN_rule - [0:0]
:prerouting_lan_rule - [0:0]
:prerouting_rule - [0:0]
:prerouting_wan_rule - [0:0]
:zone_VPN_postrouting - [0:0]
:zone_VPN_prerouting - [0:0]
:zone_lan_postrouting - [0:0]
:zone_lan_prerouting - [0:0]
:zone_wan_postrouting - [0:0]
:zone_wan_prerouting - [0:0]
-A PREROUTING -m comment --comment "!fw3: Custom prerouting rule chain" -j prerouting_rule
-A PREROUTING -i br-lan -m comment --comment "!fw3" -j zone_lan_prerouting
-A PREROUTING -i rmnet_data0 -m comment --comment "!fw3" -j zone_wan_prerouting
-A PREROUTING -i gre_GRE1 -m comment --comment "!fw3" -j zone_VPN_prerouting
-A POSTROUTING -m comment --comment "!fw3: Custom postrouting rule chain" -j postrouting_rule
-A POSTROUTING -o br-lan -m comment --comment "!fw3" -j zone_lan_postrouting
-A POSTROUTING -o rmnet_data0 -m comment --comment "!fw3" -j zone_wan_postrouting
-A POSTROUTING -o gre_GRE1 -m comment --comment "!fw3" -j zone_VPN_postrouting
-A zone_VPN_postrouting -m comment --comment "!fw3: Custom VPN postrouting rule chain" -j postrouting_VPN_rule
-A zone_VPN_postrouting -m comment --comment "!fw3" -j MASQUERADE
-A zone_VPN_prerouting -m comment --comment "!fw3: Custom VPN prerouting rule chain" -j prerouting_VPN_rule
-A zone_lan_postrouting -m comment --comment "!fw3: Custom lan postrouting rule chain" -j postrouting_lan_rule
-A zone_lan_prerouting -m comment --comment "!fw3: Custom lan prerouting rule chain" -j prerouting_lan_rule
-A zone_wan_postrouting -m comment --comment "!fw3: Custom wan postrouting rule chain" -j postrouting_wan_rule
-A zone_wan_postrouting -m comment --comment "!fw3" -j MASQUERADE
-A zone_wan_prerouting -m comment --comment "!fw3: Custom wan prerouting rule chain" -j prerouting_wan_rule
COMMIT
# Completed on Thu Jul  1 14:06:33 2021
# Generated by iptables-save v1.6.2 on Thu Jul  1 14:06:33 2021
*mangle
:PREROUTING ACCEPT [3734:611091]
:INPUT ACCEPT [2180:118815]
:FORWARD ACCEPT [204:25626]
:OUTPUT ACCEPT [1900:236839]
:POSTROUTING ACCEPT [2089:261865]
COMMIT
# Completed on Thu Jul  1 14:06:33 2021
# Generated by iptables-save v1.6.2 on Thu Jul  1 14:06:33 2021
*filter
:INPUT ACCEPT [0:0]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [0:0]
:forwarding_VPN_rule - [0:0]
:forwarding_lan_rule - [0:0]
:forwarding_rule - [0:0]
:forwarding_wan_rule - [0:0]
:input_VPN_rule - [0:0]
:input_lan_rule - [0:0]
:input_rule - [0:0]
:input_wan_rule - [0:0]
:output_VPN_rule - [0:0]
:output_lan_rule - [0:0]
:output_rule - [0:0]
:output_wan_rule - [0:0]
:reject - [0:0]
:syn_flood - [0:0]
:zone_VPN_dest_ACCEPT - [0:0]
:zone_VPN_forward - [0:0]
:zone_VPN_input - [0:0]
:zone_VPN_output - [0:0]
:zone_VPN_src_ACCEPT - [0:0]
:zone_lan_dest_ACCEPT - [0:0]
:zone_lan_forward - [0:0]
:zone_lan_input - [0:0]
:zone_lan_output - [0:0]
:zone_lan_src_ACCEPT - [0:0]
:zone_wan_dest_ACCEPT - [0:0]
:zone_wan_dest_REJECT - [0:0]
:zone_wan_forward - [0:0]
:zone_wan_input - [0:0]
:zone_wan_output - [0:0]
:zone_wan_src_REJECT - [0:0]
-A INPUT -i lo -m comment --comment "!fw3" -j ACCEPT
-A INPUT -m comment --comment "!fw3: Custom input rule chain" -j input_rule
-A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -m comment --comment "!fw3" -j ACCEPT
-A INPUT -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m comment --comment "!fw3" -j syn_flood
-A INPUT -i br-lan -m comment --comment "!fw3" -j zone_lan_input
-A INPUT -i rmnet_data0 -m comment --comment "!fw3" -j zone_wan_input
-A INPUT -i gre_GRE1 -m comment --comment "!fw3" -j zone_VPN_input
-A FORWARD -m comment --comment "!fw3: Custom forwarding rule chain" -j forwarding_rule
-A FORWARD -m conntrack --ctstate RELATED,ESTABLISHED -m comment --comment "!fw3" -j ACCEPT
-A FORWARD -i br-lan -m comment --comment "!fw3" -j zone_lan_forward
-A FORWARD -i rmnet_data0 -m comment --comment "!fw3" -j zone_wan_forward
-A FORWARD -i gre_GRE1 -m comment --comment "!fw3" -j zone_VPN_forward
-A FORWARD -m comment --comment "!fw3" -j reject
-A OUTPUT -o lo -m comment --comment "!fw3" -j ACCEPT
-A OUTPUT -m comment --comment "!fw3: Custom output rule chain" -j output_rule
-A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -m comment --comment "!fw3" -j ACCEPT
-A OUTPUT -o br-lan -m comment --comment "!fw3" -j zone_lan_output
-A OUTPUT -o rmnet_data0 -m comment --comment "!fw3" -j zone_wan_output
-A OUTPUT -o gre_GRE1 -m comment --comment "!fw3" -j zone_VPN_output
-A reject -p tcp -m comment --comment "!fw3" -j REJECT --reject-with tcp-reset
-A reject -m comment --comment "!fw3" -j REJECT --reject-with icmp-port-unreachable
-A syn_flood -p tcp -m tcp --tcp-flags FIN,SYN,RST,ACK SYN -m limit --limit 25/sec --limit-burst 50 -m comment --comment "!fw3" -j RETURN
-A syn_flood -m comment --comment "!fw3" -j DROP
-A zone_VPN_dest_ACCEPT -o gre_GRE1 -m conntrack --ctstate INVALID -m comment --comment "!fw3: Prevent NAT leakage" -j DROP
-A zone_VPN_dest_ACCEPT -o gre_GRE1 -m comment --comment "!fw3" -j ACCEPT
-A zone_VPN_forward -m comment --comment "!fw3: Custom VPN forwarding rule chain" -j forwarding_VPN_rule
-A zone_VPN_forward -m comment --comment "!fw3: Zone VPN to lan forwarding policy" -j zone_lan_dest_ACCEPT
-A zone_VPN_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port forwards" -j ACCEPT
-A zone_VPN_forward -m comment --comment "!fw3" -j zone_VPN_dest_ACCEPT
-A zone_VPN_input -m comment --comment "!fw3: Custom VPN input rule chain" -j input_VPN_rule
-A zone_VPN_input -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port redirections" -j ACCEPT
-A zone_VPN_input -m comment --comment "!fw3" -j zone_VPN_src_ACCEPT
-A zone_VPN_output -m comment --comment "!fw3: Custom VPN output rule chain" -j output_VPN_rule
-A zone_VPN_output -m comment --comment "!fw3" -j zone_VPN_dest_ACCEPT
-A zone_VPN_src_ACCEPT -i gre_GRE1 -m conntrack --ctstate NEW,UNTRACKED -m comment --comment "!fw3" -j ACCEPT
-A zone_lan_dest_ACCEPT -o br-lan -m comment --comment "!fw3" -j ACCEPT
-A zone_lan_forward -m comment --comment "!fw3: Custom lan forwarding rule chain" -j forwarding_lan_rule
-A zone_lan_forward -m comment --comment "!fw3: Zone lan to wan forwarding policy" -j zone_wan_dest_ACCEPT
-A zone_lan_forward -m comment --comment "!fw3: Zone lan to VPN forwarding policy" -j zone_VPN_dest_ACCEPT
-A zone_lan_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port forwards" -j ACCEPT
-A zone_lan_forward -m comment --comment "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_input -m comment --comment "!fw3: Custom lan input rule chain" -j input_lan_rule
-A zone_lan_input -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port redirections" -j ACCEPT
-A zone_lan_input -m comment --comment "!fw3" -j zone_lan_src_ACCEPT
-A zone_lan_output -m comment --comment "!fw3: Custom lan output rule chain" -j output_lan_rule
-A zone_lan_output -m comment --comment "!fw3" -j zone_lan_dest_ACCEPT
-A zone_lan_src_ACCEPT -i br-lan -m conntrack --ctstate NEW,UNTRACKED -m comment --comment "!fw3" -j ACCEPT
-A zone_wan_dest_ACCEPT -o rmnet_data0 -m conntrack --ctstate INVALID -m comment --comment "!fw3: Prevent NAT leakage" -j DROP
-A zone_wan_dest_ACCEPT -o rmnet_data0 -m comment --comment "!fw3" -j ACCEPT
-A zone_wan_dest_REJECT -o rmnet_data0 -m comment --comment "!fw3" -j reject
-A zone_wan_forward -m comment --comment "!fw3: Custom wan forwarding rule chain" -j forwarding_wan_rule
-A zone_wan_forward -p esp -m comment --comment "!fw3: Allow-IPSec-ESP" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -p udp -m udp --dport 500 -m comment --comment "!fw3: Allow-ISAKMP" -j zone_lan_dest_ACCEPT
-A zone_wan_forward -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port forwards" -j ACCEPT
-A zone_wan_forward -m comment --comment "!fw3" -j zone_wan_dest_REJECT
-A zone_wan_input -m comment --comment "!fw3: Custom wan input rule chain" -j input_wan_rule
-A zone_wan_input -p udp -m udp --dport 68 -m comment --comment "!fw3: Allow-DHCP-Renew" -j ACCEPT
-A zone_wan_input -p icmp -m icmp --icmp-type 8 -m comment --comment "!fw3: Allow-Ping" -j ACCEPT
-A zone_wan_input -p igmp -m comment --comment "!fw3: Allow-IGMP" -j ACCEPT
-A zone_wan_input -m conntrack --ctstate DNAT -m comment --comment "!fw3: Accept port redirections" -j ACCEPT
-A zone_wan_input -m comment --comment "!fw3" -j zone_wan_src_REJECT
-A zone_wan_output -m comment --comment "!fw3: Custom wan output rule chain" -j output_wan_rule
-A zone_wan_output -m comment --comment "!fw3" -j zone_wan_dest_ACCEPT
-A zone_wan_src_REJECT -i rmnet_data0 -m comment --comment "!fw3" -j reject
COMMIT

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN
    link/ipip 0.0.0.0 brd 0.0.0.0
3: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN
    link/gre 0.0.0.0 brd 0.0.0.0
4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-lan state UP qlen 1000
    link/ether be:45:43:80:65:4e brd ff:ff:ff:ff:ff:ff
7: rmnet0: <UP,LOWER_UP> mtu 2000 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/[530]
8: rmnet_data0: <UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/[530]
    inet 109.188.67.***/30 scope global rmnet_data0
       valid_lft forever preferred_lft forever
    inet6 fe80::6894:4acb:4f36:****/64 scope link
       valid_lft forever preferred_lft forever
9: rmnet_data1: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
10: rmnet_data2: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
11: rmnet_data3: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
12: rmnet_data4: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
13: rmnet_data5: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
14: rmnet_data6: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
15: rmnet_data7: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
16: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether be:45:43:80:65:4e brd ff:ff:ff:ff:ff:ff
    inet 192.168.88.1/24 brd 192.168.88.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd32:9407:9f4c::1/60 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::bc45:43ff:fe80:654e/64 scope link
       valid_lft forever preferred_lft forever
19: gre_GRE1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN
    link/gre 109.188.67.*** peer 109.188.84.***
    inet 10.81.105.5/24 scope global gre_GRE1
       valid_lft forever preferred_lft forever
    inet6 fe80::200:5efe:6dbc:****/64 scope link
       valid_lft forever preferred_lft forever

ip route

default via 109.188.67.*** dev rmnet_data0  proto static  src 109.188.67.***
10.81.105.0/24 dev gre_GRE1  proto kernel  scope link  src 10.81.105.5
109.188.67.***/30 dev rmnet_data0  proto kernel  scope link  src 109.188.67.***
192.168.88.0/24 dev br-lan  proto kernel  scope link  src 192.168.88.1
192.168.90.0/24 dev gre_GRE1  scope link

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
input_rule  all  --  anywhere             anywhere             /* !fw3: Custom input rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
syn_flood  tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN /* !fw3 */
zone_lan_input  all  --  anywhere             anywhere             /* !fw3 */
zone_wan_input  all  --  anywhere             anywhere             /* !fw3 */
zone_VPN_input  all  --  anywhere             anywhere             /* !fw3 */

Chain FORWARD (policy DROP)
target     prot opt source               destination
forwarding_rule  all  --  anywhere             anywhere             /* !fw3: Custom forwarding rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
zone_lan_forward  all  --  anywhere             anywhere             /* !fw3 */
zone_wan_forward  all  --  anywhere             anywhere             /* !fw3 */
zone_VPN_forward  all  --  anywhere             anywhere             /* !fw3 */
reject     all  --  anywhere             anywhere             /* !fw3 */

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
output_rule  all  --  anywhere             anywhere             /* !fw3: Custom output rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
zone_lan_output  all  --  anywhere             anywhere             /* !fw3 */
zone_wan_output  all  --  anywhere             anywhere             /* !fw3 */
zone_VPN_output  all  --  anywhere             anywhere             /* !fw3 */

Chain forwarding_VPN_rule (1 references)
target     prot opt source               destination

Chain forwarding_lan_rule (1 references)
target     prot opt source               destination

Chain forwarding_rule (1 references)
target     prot opt source               destination

Chain forwarding_wan_rule (1 references)
target     prot opt source               destination

Chain input_VPN_rule (1 references)
target     prot opt source               destination

Chain input_lan_rule (1 references)
target     prot opt source               destination

Chain input_rule (1 references)
target     prot opt source               destination

Chain input_wan_rule (1 references)
target     prot opt source               destination

Chain output_VPN_rule (1 references)
target     prot opt source               destination

Chain output_lan_rule (1 references)
target     prot opt source               destination

Chain output_rule (1 references)
target     prot opt source               destination

Chain output_wan_rule (1 references)
target     prot opt source               destination

Chain reject (3 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere             /* !fw3 */ reject-with tcp-reset
REJECT     all  --  anywhere             anywhere             /* !fw3 */ reject-with icmp-port-unreachable

Chain syn_flood (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50 /* !fw3 */
DROP       all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_dest_ACCEPT (3 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             ctstate INVALID /* !fw3: Prevent NAT leakage */
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_forward (1 references)
target     prot opt source               destination
forwarding_VPN_rule  all  --  anywhere             anywhere             /* !fw3: Custom VPN forwarding rule chain */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone VPN to lan forwarding policy */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
zone_VPN_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_input (1 references)
target     prot opt source               destination
input_VPN_rule  all  --  anywhere             anywhere             /* !fw3: Custom VPN input rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
zone_VPN_src_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_output (1 references)
target     prot opt source               destination
output_VPN_rule  all  --  anywhere             anywhere             /* !fw3: Custom VPN output rule chain */
zone_VPN_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_src_ACCEPT (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate NEW,UNTRACKED /* !fw3 */

Chain zone_lan_dest_ACCEPT (5 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_forward (1 references)
target     prot opt source               destination
forwarding_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan forwarding rule chain */
zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone lan to wan forwarding policy */
zone_VPN_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone lan to VPN forwarding policy */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_input (1 references)
target     prot opt source               destination
input_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan input rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
zone_lan_src_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_output (1 references)
target     prot opt source               destination
output_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan output rule chain */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_src_ACCEPT (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate NEW,UNTRACKED /* !fw3 */

Chain zone_wan_dest_ACCEPT (2 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             ctstate INVALID /* !fw3: Prevent NAT leakage */
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_dest_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_forward (1 references)
target     prot opt source               destination
forwarding_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan forwarding rule chain */
zone_lan_dest_ACCEPT  esp  --  anywhere             anywhere             /* !fw3: Allow-IPSec-ESP */
zone_lan_dest_ACCEPT  udp  --  anywhere             anywhere             udp dpt:isakmp /* !fw3: Allow-ISAKMP */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
zone_wan_dest_REJECT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_input (1 references)
target     prot opt source               destination
input_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan input rule chain */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc /* !fw3: Allow-DHCP-Renew */
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request /* !fw3: Allow-Ping */
ACCEPT     igmp --  anywhere             anywhere             /* !fw3: Allow-IGMP */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
zone_wan_src_REJECT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_output (1 references)
target     prot opt source               destination
output_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan output rule chain */
zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_src_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere             /* !fw3 */

Второе устройство:

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever
2: tunl0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN
    link/ipip 0.0.0.0 brd 0.0.0.0
3: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN
    link/gre 0.0.0.0 brd 0.0.0.0
4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: sit0@NONE: <NOARP> mtu 1480 qdisc noop state DOWN
    link/sit 0.0.0.0 brd 0.0.0.0
6: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br-lan state UP qlen 1000
    link/ether 02:47:df:a6:b2:da brd ff:ff:ff:ff:ff:ff
7: rmnet0: <UP,LOWER_UP> mtu 2000 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/[530]
8: rmnet_data0: <UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000
    link/[530]
    inet 109.188.84.***/30 scope global rmnet_data0
       valid_lft forever preferred_lft forever
    inet6 fe80::a51f:d5b9:65f6:****/64 scope link
       valid_lft forever preferred_lft forever
9: rmnet_data1: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
10: rmnet_data2: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
11: rmnet_data3: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
12: rmnet_data4: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
13: rmnet_data5: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
14: rmnet_data6: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
15: rmnet_data7: <> mtu 1500 qdisc noop state DOWN qlen 1000
    link/[530]
16: br-lan: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP
    link/ether 02:47:df:a6:b2:da brd ff:ff:ff:ff:ff:ff
    inet 192.168.90.1/24 brd 192.168.90.255 scope global br-lan
       valid_lft forever preferred_lft forever
    inet6 fd44:59d4:5862::1/60 scope global
       valid_lft forever preferred_lft forever
    inet6 fe80::47:dfff:fea6:b2da/64 scope link
       valid_lft forever preferred_lft forever
19: gre_GRE1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN
    link/gre 109.188.84.*** peer 109.188.67.***
    inet 10.81.105.6/24 scope global gre_GRE1
       valid_lft forever preferred_lft forever
    inet6 fe80::200:5efe:6dbc:****/64 scope link
       valid_lft forever preferred_lft forever

ip route

default via 109.188.84.*** dev rmnet_data0  proto static  src 109.188.84.***
10.81.105.0/24 dev gre_GRE1  proto kernel  scope link  src 10.81.105.6
109.188.84.***/30 dev rmnet_data0  proto kernel  scope link  src 109.188.84.***
192.168.88.0/24 dev gre_GRE1  scope link
192.168.90.0/24 dev br-lan  proto kernel  scope link  src 192.168.90.1

iptables -L

Chain INPUT (policy ACCEPT)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
input_rule  all  --  anywhere             anywhere             /* !fw3: Custom input rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
syn_flood  tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN /* !fw3 */
zone_lan_input  all  --  anywhere             anywhere             /* !fw3 */
zone_wan_input  all  --  anywhere             anywhere             /* !fw3 */
zone_VPN_input  all  --  anywhere             anywhere             /* !fw3 */

Chain FORWARD (policy DROP)
target     prot opt source               destination
forwarding_rule  all  --  anywhere             anywhere             /* !fw3: Custom forwarding rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
zone_lan_forward  all  --  anywhere             anywhere             /* !fw3 */
zone_wan_forward  all  --  anywhere             anywhere             /* !fw3 */
zone_VPN_forward  all  --  anywhere             anywhere             /* !fw3 */
reject     all  --  anywhere             anywhere             /* !fw3 */

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
DROP       udp  --  anywhere             anywhere             udp dpt:1900 /* Drop SSDP on WWAN */
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */
output_rule  all  --  anywhere             anywhere             /* !fw3: Custom output rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate RELATED,ESTABLISHED /* !fw3 */
zone_lan_output  all  --  anywhere             anywhere             /* !fw3 */
zone_wan_output  all  --  anywhere             anywhere             /* !fw3 */
zone_VPN_output  all  --  anywhere             anywhere             /* !fw3 */

Chain forwarding_VPN_rule (1 references)
target     prot opt source               destination

Chain forwarding_lan_rule (1 references)
target     prot opt source               destination

Chain forwarding_rule (1 references)
target     prot opt source               destination

Chain forwarding_wan_rule (1 references)
target     prot opt source               destination

Chain input_VPN_rule (1 references)
target     prot opt source               destination

Chain input_lan_rule (1 references)
target     prot opt source               destination

Chain input_rule (1 references)
target     prot opt source               destination

Chain input_wan_rule (1 references)
target     prot opt source               destination

Chain output_VPN_rule (1 references)
target     prot opt source               destination

Chain output_lan_rule (1 references)
target     prot opt source               destination

Chain output_rule (1 references)
target     prot opt source               destination

Chain output_wan_rule (1 references)
target     prot opt source               destination

Chain reject (3 references)
target     prot opt source               destination
REJECT     tcp  --  anywhere             anywhere             /* !fw3 */ reject-with tcp-reset
REJECT     all  --  anywhere             anywhere             /* !fw3 */ reject-with icmp-port-unreachable

Chain syn_flood (1 references)
target     prot opt source               destination
RETURN     tcp  --  anywhere             anywhere             tcp flags:FIN,SYN,RST,ACK/SYN limit: avg 25/sec burst 50 /* !fw3 */
DROP       all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_dest_ACCEPT (3 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             ctstate INVALID /* !fw3: Prevent NAT leakage */
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_forward (1 references)
target     prot opt source               destination
forwarding_VPN_rule  all  --  anywhere             anywhere             /* !fw3: Custom VPN forwarding rule chain */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone VPN to lan forwarding policy */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
zone_VPN_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_input (1 references)
target     prot opt source               destination
input_VPN_rule  all  --  anywhere             anywhere             /* !fw3: Custom VPN input rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
zone_VPN_src_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_output (1 references)
target     prot opt source               destination
output_VPN_rule  all  --  anywhere             anywhere             /* !fw3: Custom VPN output rule chain */
zone_VPN_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_VPN_src_ACCEPT (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate NEW,UNTRACKED /* !fw3 */

Chain zone_lan_dest_ACCEPT (5 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_forward (1 references)
target     prot opt source               destination
forwarding_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan forwarding rule chain */
zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone lan to wan forwarding policy */
zone_VPN_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3: Zone lan to VPN forwarding policy */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_input (1 references)
target     prot opt source               destination
input_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan input rule chain */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
zone_lan_src_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_output (1 references)
target     prot opt source               destination
output_lan_rule  all  --  anywhere             anywhere             /* !fw3: Custom lan output rule chain */
zone_lan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_lan_src_ACCEPT (1 references)
target     prot opt source               destination
ACCEPT     all  --  anywhere             anywhere             ctstate NEW,UNTRACKED /* !fw3 */

Chain zone_wan_dest_ACCEPT (2 references)
target     prot opt source               destination
DROP       all  --  anywhere             anywhere             ctstate INVALID /* !fw3: Prevent NAT leakage */
ACCEPT     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_dest_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_forward (1 references)
target     prot opt source               destination
forwarding_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan forwarding rule chain */
zone_lan_dest_ACCEPT  esp  --  anywhere             anywhere             /* !fw3: Allow-IPSec-ESP */
zone_lan_dest_ACCEPT  udp  --  anywhere             anywhere             udp dpt:isakmp /* !fw3: Allow-ISAKMP */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port forwards */
zone_wan_dest_REJECT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_input (1 references)
target     prot opt source               destination
input_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan input rule chain */
ACCEPT     udp  --  anywhere             anywhere             udp dpt:bootpc /* !fw3: Allow-DHCP-Renew */
ACCEPT     icmp --  anywhere             anywhere             icmp echo-request /* !fw3: Allow-Ping */
ACCEPT     igmp --  anywhere             anywhere             /* !fw3: Allow-IGMP */
ACCEPT     all  --  anywhere             anywhere             ctstate DNAT /* !fw3: Accept port redirections */
zone_wan_src_REJECT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_output (1 references)
target     prot opt source               destination
output_wan_rule  all  --  anywhere             anywhere             /* !fw3: Custom wan output rule chain */
zone_wan_dest_ACCEPT  all  --  anywhere             anywhere             /* !fw3 */

Chain zone_wan_src_REJECT (1 references)
target     prot opt source               destination
reject     all  --  anywhere             anywhere             /* !fw3 */

 , , ,

smrnvdmtr ()

GRE-туннель через промежуточный хост не работает с включенным файрволлом

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

Ранее в этой теме ( GRE-туннель без отключения файрволла не пингуется ) я расписывал возникшую проблему пинга между двумя хостами, соединёнными друг с другом и находящимися в одной подсети. Теперь задача изменилась. Два хоста (R-SRV на CentOS 8 и L-SRV на Debian 10) находятся в разных подсетях и соединены через промежуточный хост (ISP на CentOS 8) обычным соединением и GRE-туннелем поверх. R-SRV имеет локальный адрес 192.168.1.10/24 и 10.10.1.2/30 туннельный. Второй – L-SRV – локальный адрес 172.16.1.10/25 и 10.10.1.1/30 туннельный. Проблема та же — при отключенном firewalld на ISP (локальные адреса 192.168.1.1 и 172.16.1.1) пинг есть в обе стороны, с GRE и без него, с включённым — только в одну сторону по GRE, в обратную нет. По обычному соединению пинг так и так имеется.

https://gist.github.com/hapylestat/1a57cc7ef88357b2fad4bc470f287a7f - сайт, по которому настраивался GRE-туннель. Правила в iptables оттуда пробовал применять на ISP — не помогает. Также не помогает то решение по включению GRE сервиса из решённой темы выше.

https://i.imgur.com/VJHVH9b.png - показания nmcli на L-SRV.

https://i.imgur.com/n3XFkJN.png - показания nmcli на ISP.

https://i.imgur.com/LViPg0g.png - показания nmcli на R-SRV.

https://i.imgur.com/KdoKJIe.png - вывод iptables на L-SRV.

https://i.imgur.com/Lt9V52Q.png - данные с firewall-cmd на ISP.

https://i.imgur.com/pgV1nt1.png - данные с firewall-cmd на R-SRV.

https://i.imgur.com/bcnzg3X.png - вывод с tcpdump на ISP (включенный firewall-cmd), при пинге L-SRV от R-SRV.

 , , , ,

Serpentary ()

GRE-туннель без отключения файрволла не пингуется

Здравствуйте! У меня стоит задача поставить GRE-туннель между двумя хостами в одной подсети (оба CentOS 8 на VirtualBox). Первый – ISP – имеет локальный адрес 192.168.1.1/24 и 10.10.1.1/30 туннельный. Второй – R-SRV – локальный адрес 192.168.1.10/24 и 10.10.1.2/30 туннельный. Проблема в том, что, как и указано в теме сообщения, без отключения firewall-cmd пинги между туннельными IP не проходят. Между локальными IP пинги есть. А мне крайне желательно оставить файрволл включённым.

Настройку GRE проводил по инструкции здесь: https://gist.github.com/hapylestat/1a57cc7ef88357b2fad4bc470f287a7f

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

nmcli R-SRV: https://i.imgur.com/CSVcdKz.png

nmcli ISP: https://i.imgur.com/851YAaz.png

Правила R-SRV: https://i.imgur.com/8asATaV.png

Правила ISP: https://i.imgur.com/jjhea8z.png

Показания tcpdump при пинге ISP со стороны R-SRV. Вижу, что пинг доходит, но ответ не отправляется: https://i.imgur.com/Uic7ooa.png

 , , ,

Serpentary ()

[РЕШЕНО] IPv6 через тунель GRE IPv4

Здравствуйте, подскажите как настроить:

  1. Сервер с белым IPv4 xxx.xxx.xxx.xxx и несколько IPv6 адресов

  2. Сервер с белым IPv4 yyy.yyy.yyy.yyy (IPv6 нету)

Между ними настроил GRE тунель xxx.xxx.xxx.xxx <-gre-> yyy.yyy.yyy.yyy

Накинул локальные адреса с двух сторон 10.20.2.1 и 10.20.2.2, а так же прописал маршруты.

Все пашет!

Хочу раздать IPv6 адреса с сервера №1 на сервер №2, подскажите как это делается?

 , , , ,

dirsex ()

Убунте GRE, а она в ответ ICMP protocol 47 port *** unreachable

Пытаюсь поднять GRE между роутером и Ubuntu 20

С роутера GRE пакеты улетают, а сервак отвечает анричибл.(логи с сервера) На роутере тоже тоже видно что пакеты по 3 gre\icmp прилетают\улетают.

tcpdump

13:14:41.894242 IP mikrotik > Ubuntu20: GREv0, length 141: IP mikrotik_gre.5678 > 255.255.255.255.5678: UDP, length 109

13:14:41.894284 IP Ubuntu20 > mikrotik: ICMP Ubuntu20 protocol 47 port 2048 unreachable, length 169

13:14:41.894965 IP mikrotik > Ubuntu20: GREv0, length 106: gre-proto-0x4

13:14:41.894977 IP Ubuntu20 > mikrotik: ICMP Ubuntu20 protocol 47 port 4 unreachable, length 134

13:14:41.894989 IP mikrotik > Ubuntu20: GREv0, length 122: gre-proto-0x88cc

13:14:41.894994 IP Ubuntu20 > mikrotik: ICMP Ubuntu20 protocol 47 port 35020 unreachable, length 150

ip link show

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: ens3: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 9000 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
    link/ether 02:00:17:00:86:31 brd ff:ff:ff:ff:ff:ff
3: gre0@NONE: <NOARP> mtu 1476 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/gre 0.0.0.0 brd 0.0.0.0
4: gretap0@NONE: <BROADCAST,MULTICAST> mtu 1462 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
5: erspan0@NONE: <BROADCAST,MULTICAST> mtu 1450 qdisc noop state DOWN mode DEFAULT group default qlen 1000
    link/ether 00:00:00:00:00:00 brd ff:ff:ff:ff:ff:ff
6: gre1@NONE: <POINTOPOINT,NOARP,UP,LOWER_UP> mtu 1476 qdisc noqueue state UNKNOWN mode DEFAULT group default qlen 1000
    link/gre Ubuntu20 peer Mikrotik

sudo ufw status Status: inactive

ifconfig

ens3: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 9000
        inet 10.0.0.3  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::17ff:fe00:8631  prefixlen 64  scopeid 0x20<link>
        ether 02:00:17:00:86:31  txqueuelen 1000  (Ethernet)
        RX packets 7146  bytes 2898696 (2.8 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 8988  bytes 5897030 (5.8 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

gre1: flags=209<UP,POINTOPOINT,RUNNING,NOARP>  mtu 1476
        inet 192.168.255.254  netmask 255.255.255.0  destination 192.168.255.254  -Вот незнаю откуда это вылезло
        unspec 9E-65-C3-E6-00-00-00-00-00-00-00-00-00-00-00-00  txqueuelen 1000  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 6  dropped 0 overruns 0  carrier 6  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 2256  bytes 246084 (246.0 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 2256  bytes 246084 (246.0 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

netplan

network:
    ethernets:
        ens3:
            dhcp4: true
            match:
                macaddress: 02:00:17:00:86:31
            set-name: ens3
    version: 2
    tunnels:
        gre1:
            mode: gre
            local: Ubuntu20
            remote: Mikrotik
            mtu: 1476
            addresses: [192.168.255.254/24]

ip tunnel show

gre0: gre/ip remote any local any ttl inherit nopmtudisc
gre1: gre/ip remote mikrotik local ubuntu20 ttl inherit

Если пытаться пинговать с сервера роутер, то растёт счётчик carrier, пинги не проходят

iptables-save

# Generated by iptables-save v1.8.4 on Sat Jul 18 10:43:24 2020
*filter
:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
:InstanceServices - [0:0]
-A INPUT -j ACCEPT
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p udp -m udp --sport 123 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 22 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j ACCEPT
-A FORWARD -j REJECT --reject-with icmp-host-prohibited
-A OUTPUT -j ACCEPT
-A OUTPUT -d 169.254.0.0/16 -j InstanceServices
-A InstanceServices -d 169.254.0.2/32 -p tcp -m owner --uid-owner 0 -m tcp --dpo                                                                                                                                   rt 3260 -m comment --comment "See the Oracle-Provided Images section in the Orac                                                                                                                                   le Cloud Infrastructure documentation for security impact of modifying or removi                                                                                                                                   ng this rule" -j ACCEPT
-A InstanceServices -d 169.254.2.0/24 -p tcp -m owner --uid-owner 0 -m tcp --dpo                                                                                                                                   rt 3260 -m comment --comment "See the Oracle-Provided Images section in the Orac                                                                                                                                   le Cloud Infrastructure documentation for security impact of modifying or removi                                                                                                                                   ng this rule" -j ACCEPT
-A InstanceServices -d 169.254.0.2/32 -p tcp -m tcp --dport 80 -m comment --comm                                                                                                                                   ent "See the Oracle-Provided Images section in the Oracle Cloud Infrastructure d                                                                                                                                   ocumentation for security impact of modifying or removing this rule" -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 53 -m comment --                                                                                                                                   comment "See the Oracle-Provided Images section in the Oracle Cloud Infrastructu                                                                                                                                   re documentation for security impact of modifying or removing this rule" -j ACCE                                                                                                                                   PT
-A InstanceServices -d 169.254.169.254/32 -p tcp -m tcp --dport 53 -m comment --                                                                                                                                   comment "See the Oracle-Provided Images section in the Oracle Cloud Infrastructu                                                                                                                                   re documentation for security impact of modifying or removing this rule" -j ACCE                                                                                                                                   PT
-A InstanceServices -d 169.254.0.3/32 -p tcp -m owner --uid-owner 0 -m tcp --dpo                                                                                                                                   rt 80 -m comment --comment "See the Oracle-Provided Images section in the Oracle                                                                                                                                    Cloud Infrastructure documentation for security impact of modifying or removing                                                                                                                                    this rule" -j ACCEPT
-A InstanceServices -d 169.254.0.4/32 -p tcp -m tcp --dport 80 -m comment --comm                                                                                                                                   ent "See the Oracle-Provided Images section in the Oracle Cloud Infrastructure d                                                                                                                                   ocumentation for security impact of modifying or removing this rule" -j ACCEPT
-A InstanceServices -d 169.254.169.254/32 -p tcp -m tcp --dport 80 -m comment --                                                                                                                                   comment "See the Oracle-Provided Images section in the Oracle Cloud Infrastructu                                                                                                                                   re documentation for security impact of modifying or removing this rule" -j ACCE                                                                                                                                   PT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 67 -m comment --                                                                                                                                   comment "See the Oracle-Provided Images section in the Oracle Cloud Infrastructu                                                                                                                                   re documentation for security impact of modifying or removing this rule" -j ACCE                                                                                                                                   PT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 69 -m comment --                                                                                                                                   comment "See the Oracle-Provided Images section in the Oracle Cloud Infrastructu                                                                                                                                   re documentation for security impact of modifying or removing this rule" -j ACCE                                                                                                                                   PT
-A InstanceServices -d 169.254.169.254/32 -p udp -m udp --dport 123 -m comment -                                                                                                                                   -comment "See the Oracle-Provided Images section in the Oracle Cloud Infrastruct                                                                                                                                   ure documentation for security impact of modifying or removing this rule" -j ACC                                                                                                                                   EPT
-A InstanceServices -d 169.254.0.0/16 -p tcp -m tcp -m comment --comment "See th                                                                                                                                   e Oracle-Provided Images section in the Oracle Cloud Infrastructure documentatio                                                                                                                                   n for security impact of modifying or removing this rule" -j REJECT --reject-wit                                                                                                                                   h tcp-reset
-A InstanceServices -d 169.254.0.0/16 -p udp -m udp -m comment --comment "See th                                                                                                                                   e Oracle-Provided Images section in the Oracle Cloud Infrastructure documentatio                                                                                                                                   n for security impact of modifying or removing this rule" -j REJECT --reject-wit                                                                                                                                   h icmp-port-unreachable
COMMIT
# Completed on Sat Jul 18 10:43:24 2020

 , ,

Lurker-beta ()

From LAN to external PPTP VPN server

Есть ubuntu 20.04 Внешний ip 2.2.2.2

В before.rules
-A PREROUTING -d 1.1.1.2/32 -p tcp -m tcp –dport 1723 -j DNAT –to-destination 192.168.0.50:1723
-A PREROUTING -d 1.1.1.2/32 -p 47 -j DNAT –to 192.168.0.50
Это я открыл для сотрудников локальный VPN сервер.
Извне соединяются по PPTP без проблем

Но мне нужно, чтобы сотрудники ещё и могли подключаться из локальной сети к внешним PPTP VPN серверам.

Пишу правило для GRE -A POSTROUTING -s 192.168.0.0/20 -p 47 -j MASQUERADE

пакет GRE уходит на внешний сервер.
приходит ответный пакет GRE на 2.2.2.2 Но подключения нет.

 , , , ,

NikolayBuslaev ()

Перенаправление трафика с VM через туннель GRE на другой сервер

Есть сложная задача с 2 серверами: Первый мощный сервер, но на нем всего один айпи, и нужно запускать виртуалки с реальными айпи адресами И есть слабый сервер с привязаной сеткой /24 айпи v4 Хочу между ними сделать gre/ipip туннель, и как то заворачивать весь трафик с VM в этот туннель и наоборот, и дальше с слабого сервера трафик перенаправлять в мир, но у VM для нормальной работы в ОС должен быть внешний айпи, как это проще всего реализовать? Можно ли обойтись ip route и туннелем? Примеров такого не нашел, прошу вашей помощи

 , , , ,

MaxKiber ()

GRE Потери пакетов, странное поведение сети

Уважаемые форумчане, подскажите кто и что знает. Есть сервер, условно «А» - основной(source), от которого идут все IP на другие сервера, а так же 15 других(destination ip) условно «1,2,3,4» и тд.

Появилась очень странная проблема, которая не поддаётся никакой логике. Появились потери пакетов, именно на IP которые идут в туннель. Например 155.44.33.22 - находится на сервере «А», по GRE идёт в сервер «1» При пинге 155.44.33.22, есть потери примерно 20%. Между серверами «А» и «1», при прямой проверке связи, вообще всё отлично. Но, при проверке пинга внутри туннеля, по локальному адресу например 192.168.0.50, есть потери, от чего потери идут уже и на внешнем адресе.

Что очень интересно, то если проблема появляется, то только в таком виде:

64 bytes from 155.44.33.22: icmp_seq=215 ttl=51 time=61.221 ms
64 bytes from 155.44.33.22: icmp_seq=216 ttl=51 time=54.311 ms
64 bytes from 155.44.33.22: icmp_seq=217 ttl=51 time=49.040 ms
64 bytes from 155.44.33.22: icmp_seq=218 ttl=51 time=51.325 ms
Request timeout for icmp_seq 219
64 bytes from 155.44.33.22: icmp_seq=220 ttl=51 time=49.756 ms
64 bytes from 155.44.33.22: icmp_seq=221 ttl=51 time=53.280 ms
64 bytes from 155.44.33.22: icmp_seq=222 ttl=51 time=52.730 ms
64 bytes from 155.44.33.22: icmp_seq=223 ttl=51 time=52.830 ms
Request timeout for icmp_seq 224
64 bytes from 155.44.33.22: icmp_seq=225 ttl=51 time=54.453 ms
64 bytes from 155.44.33.22: icmp_seq=226 ttl=51 time=51.656 ms
64 bytes from 155.44.33.22: icmp_seq=227 ttl=51 time=53.333 ms
64 bytes from 155.44.33.22: icmp_seq=228 ttl=51 time=52.741 ms
Request timeout for icmp_seq 229
64 bytes from 155.44.33.22: icmp_seq=230 ttl=51 time=51.533 ms
64 bytes from 155.44.33.22: icmp_seq=231 ttl=51 time=59.256 ms
64 bytes from 155.44.33.22: icmp_seq=232 ttl=51 time=50.136 ms
64 bytes from 155.44.33.22: icmp_seq=233 ttl=51 time=53.572 ms
Request timeout for icmp_seq 234
64 bytes from 155.44.33.22: icmp_seq=235 ttl=51 time=51.787 ms
64 bytes from 155.44.33.22: icmp_seq=236 ttl=51 time=51.866 ms
64 bytes from 155.44.33.22: icmp_seq=237 ttl=51 time=51.229 ms
64 bytes from 155.44.33.22: icmp_seq=238 ttl=51 time=50.872 ms
Request timeout for icmp_seq 239

Видно закономерность потери пинга. Тоже самое по локальному IP, между серверами на которых туннель.

64 bytes from 192.168.0.50: icmp_seq=85 ttl=64 time=7.79 ms
64 bytes from 192.168.0.50: icmp_seq=86 ttl=64 time=7.75 ms
64 bytes from 192.168.0.50: icmp_seq=87 ttl=64 time=7.77 ms
64 bytes from 192.168.0.50: icmp_seq=88 ttl=64 time=7.75 ms
64 bytes from 192.168.0.50: icmp_seq=90 ttl=64 time=7.74 ms
64 bytes from 192.168.0.50: icmp_seq=91 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=92 ttl=64 time=7.76 ms
64 bytes from 192.168.0.50: icmp_seq=93 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=95 ttl=64 time=7.95 ms
64 bytes from 192.168.0.50: icmp_seq=96 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=97 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=98 ttl=64 time=7.88 ms
64 bytes from 192.168.0.50: icmp_seq=100 ttl=64 time=7.77 ms
64 bytes from 192.168.0.50: icmp_seq=101 ttl=64 time=7.74 ms
64 bytes from 192.168.0.50: icmp_seq=102 ttl=64 time=7.74 ms
64 bytes from 192.168.0.50: icmp_seq=103 ttl=64 time=7.76 ms
64 bytes from 192.168.0.50: icmp_seq=105 ttl=64 time=7.73 ms
64 bytes from 192.168.0.50: icmp_seq=106 ttl=64 time=7.75 ms
64 bytes from 192.168.0.50: icmp_seq=107 ttl=64 time=7.76 ms

Каждый 5 пакет, потеря. Буфер сетевой карты увеличил до максимальных значений, в dmesg никаких проблем нет от слова совсем. Правила iptables кристально чисты. Что это может быть и что делать?

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

irqbalance стоит, руками в прерывания не лазил, нагрузка 40-50к pps всего, до 100мб\c, обычно 50. Нагрузка на канал, в моменты потери пинга, падает до 20мб\c, из 40-50, т.е грубо говоря в половину, но не полностью.

забыл уточнить, еще есть bridge интерфейс, на сервере крутится несколько виртуалок через proxmox, а так как основной настроен как «inet manual», то и туннель работает через интерфейс vmbr0 Возможна ли проблема здесь?

 

frealy121212 ()

Первый опыт новичка - Debian и GRE туннель к CISCO

Добрый день всем. С десктопными(gui) Ubuntu/Mint/Suse на ноутбуках работаю много, с сервером в консоли первый раз.Суть проблемы - есть сервер с сайтом (VDS)- адрес у VDS только один (внешний) - внутренней сетки нет..Нужно от него к заказчику прокинуть GRE-туннель к его CISCO. Адрес у VDS только один (внешний) - внутренней сетки нет. Вот что мне дали со стороны циски :

interface Tunnel333

description VDS

ip address 50.50.50.1 255.255.255.252

ip ospf 10 area 10

tunnel source 99.88.77.1 «ip_cisco»

tunnel destination 66.55.44.3 «ip_vds»

tunnel key 123456

Делаю в etc/network/interfaces -

pre-up modprobe ip_gre auto tun0 iface tun0 inet static address 50.50.50.1 netmask 255.255.255.252 up ifconfig tun0 multicast pre-up iptunnel add tun0 mode gre remote 99.88.77.1 local 66.55.44.3 dev eth0 post-down iptunnel del tun0

Получаем -

ip tunnel show gre0: gre/ip remote any local any ttl inherit nopmtudisc tun0: gre/ip remote 99.88.77.1 local 66.55.44.3 dev eth0 ttl inherit

Чего не хватает? Куда description VDS и tunnel key 123456 - надо записать?

 , , ,

aen1975 ()

Настройка GRE на удалённом сервере

Хлопцы, не судите строго, в сетях слабоват. Короче суть: есть центральный офис + 3 филиала. Географически всё это находится в разных городах. В офисе циска, в филиалах микротики. На аутсорсе цискарь, который всё это настраивал. Не так давно руководство озадачило приобрести за бугром в датацентре сервер (не VPS и не VDS) и перенести туда часть инфраструктуры, но пускать туда цискаря, для организации туннеля нельзя (параноидальная безопасность). Короче цискарь скинул что нужно сделать на сервере, для организации (именно) GRE туннеля с наложением IPSec и то, пример скинул с дебиана, а у меня там цента. Ну и походу что-то я сделал не так. Пинг до циски не идёт. Может кто подскажет что.

Создал сетевой интерфейс tun0

Установил racoon и ipsec-tools.

Отредактировал racoon.conf

Затем он сказал в файле ipsec-tools.conf, которого я не нашёл, внести изменения, которые дал. Погуглив и оперевшись на эту статью я создал демона racoon.init и добавил такое содержимое

Ну и в psk.txt IP адрес и пре_шаред_кей.

Должна пинговаться циска, по адресу 10.130.130.1 но не пингуется. Опираясь на скрины подскажите пжлста, что не так…?

 , ,

Shprot ()

ip: SIOCADDTUNNEL: No such device не могу поднять GRE туннель

Добрый день! Пытаюсь поднять GRE командой:

ip tunnel add tun1 mode gre local ip1 remote ip2

В итоге выдает данную ошибку:

ip: SIOCADDTUNNEL: No such device

система linux 2.6 Подскажите, как решить проблему?

 , ,

Nemezida ()

GRE туннель - OpenVZ virtual network

Доброго времени суток.

По порядку, есть сервер А, есть сервер Б.

У сервера А ip адрес - 8.8.8.8 и дополнительный для туннеля 9.9.9.9

У сервера Б ip адрес - 10.10.10.10

Debian 7 везде.

С сервера А на сервер Б, проксируется IP адрес 9.9.9.9 по GRE туннелю, есть интерфейс tun и локальный адрес в туннеле 192.168.0.40 Туннель рабочий и по обращению к 9.9.9.9:22 без всяких правил стучит на сервер Б, всё правильно.

На сервере Б есть контейнеры openvz, с локальным адресом 192.168.3.2, нужно завернуть весь исходящий трафик, через 9.9.9.9, у меня не получается, просто нет сети, работает только через 10.10.10.10(реальный ип)

Так же и со входящим, нужно например 9.9.9.9:2525 что бы вело на локальный адрес openvz 192.168.3.2

Такая махинация работает с обычным адресом сервера 10.10.10.10

iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o eth0 -j SNAT --to 10.10.10.10

iptables -t nat -A PREROUTING -p tcp -d 10.10.10.10 --dport 2525 -i eth0 -j DNAT --to-destination 192.168.3.2:22

iptables -t nat -A POSTROUTING -s 192.168.3.2 -o eth0 -j SNAT --to 10.10.10.10

Исходящий трафик работает, входящий по порту так же, как сделать тоже самое но для ip с gre туннеля 9.9.9.9 ?

UP есть небольшие здвиги iptables -t nat -A POSTROUTING -s 192.168.3.0/24 -o tun0 -j SNAT --to 9.9.9.9

уже даёт доступ к локальному ip туннеля 192.168.0.40, раньше его не было вообще, хотя почему если я указан внешний ип?)

 ,

frealy121212 ()

NetworkManager ip6gre

Пытаюсь поднять простейший gre ipv6 интерфейс. Если создавать через ip -6 tunnel add, то все отлично работает, пакеты бегают, но до перезагруки. После ребута все настройки теряются. Когда создаю через NetworkManager, то упираюсь в необходимость задать два параметра: «Parent» и «Device». Как я понимаю, parent - это имя физического линка, в моем случае - eth0. Device - имя виртуального туннеля, если не ошибаюсь. Указываю tun0. Но когда после всех настроек говорю nmcli con up, получаю ошибку: «Ошибка: сбой активации соединения: Failed to find a compatible device for this connect». Как правильно поднять GRE over IPv6 на никсах? Centos7.

 , ,

Shadow2091 ()

PPTP не SNAT'ится

Или, если быть точным, то GRE.
В общем, есть сервер с Xen'ом, есть domU с PPTP-сервером. dom0 занимается вопросами роутинга трафика. VPN-сервер в своей подсети; плюс сервер обслуживает локальную сеть.

vpn-сервер включен в br2, IP 192.168.221.251
Локальная сеть - через br0, адрес хоста клиента в данном случае 192.168.1.133.

Суть проблемы: с внешнего мира все прекрасно подключается и работает. С локальной сети при обращении на внешний адрес сессия не устанавливается. 1723 доступен, nmap'ится и так далее. GRE уходит на шлюз, SNAT'ится от внешнего адреса, DNAT'ится на VPN сервер, тот успешно отвечает (на br2 есть ответ), а вот дальше, такое ощущение, что шлюз не знает, что с этими пакетами делать. На br0 есть только клиентские запросы.

iptables

"${ipt}" -A FORWARD -p tcp -d 192.168.221.251 -j ACCEPT #
"${ipt}" -A FORWARD -p gre -j ACCEPT # vpn

"${ipt}" -A PREROUTING  -t nat -p tcp -d $exip --dport 1723   -j DNAT --to 192.168.221.251:1723 # VPN
"${ipt}" -A PREROUTING  -t nat -p gre ! -s 192.168.221.251 -d $exip                -j DNAT --to 192.168.221.251 # VPN
"${ipt}" -A POSTROUTING -t nat -p tcp -s $homenet/24 -d 192.168.221.251 --dport 1723 -j SNAT --to-source $exip
"${ipt}" -A POSTROUTING -t nat -p gre -s $homenet/24 -d 192.168.221.251              -j SNAT --to-source $exip


lsmod
lsmod | grep -E 'gre|pptp'                                                                                                         
ip_gre                 24576  0
gre                    16384  1 ip_gre
nf_nat_pptp            16384  0
nf_nat_proto_gre       16384  1 nf_nat_pptp
nf_conntrack_pptp      16384  1 nf_nat_pptp
nf_conntrack_proto_gre    16384  1 nf_conntrack_pptp
*** ну и + зависимости ***

Первые 2 модуля - это я уже игрался, подгружая то, что хоть как-то может к этой теме относиться. Результат не меняется.

pptpd log: https://paste.ubuntu.com/p/cGzWmzc5Cr/

tcpdump:
br0: https://paste.ubuntu.com/p/sjwyW9PrZD/
br2: https://paste.ubuntu.com/p/8HH3GfZGqs/

Если убрать SNAT для локальной сети и подключаться на адрес VPN-сервера - то, естественно, тоже все работает.

Вроде на старом сервере (с подобной конфигурацией, но Debian 7 и на ядре 3.9) оно работало (по-крайней мере, я не помню, чтобы оно не работало). Правда, есть подозрение, что тогда из локальной сети я ходил на локальный адрес - сейчас уже не проверю.

Смахивает немного на вот это. Но поведение поменялось только с 3.5, т.е., со старым вариантом я не должен был столкнуться. Кроме того, попытка использовать правила с -j CT --helper pptp или установка net.netfilter.nf_conntrack_helper в 1 вообще блокирует трафик с локальной сети на 1723-й порт VPN-сервера (да и нужно ли оно, если на 1723 все ходит нормально и так?)

Насчет предложений сменить PPTP на что-то более вменяемое - возможно, в будущем :). Пока устраивает и так, но хотелось бы разобраться в проблеме и сделать максимально универсальный вариант (с одинаковым адресом сервера как изнутри, так и снаружи).

 , , ,

YAR ()