Debian – Gre Tunnel

Gre тунелите в някои случаи са неизбежни. Те също имат удобен вариант за конфигуриране във файла /etc/network/interfaces. Тук обаче трябва да се внимава и двете машини да се конфигурират правилно и така на първата машина се описват следните редове.

auto tun0
iface tun0 inet static
       address 194.141.67.110
       netmask 255.255.255.252
       up ifconfig tun0 multicast
       pre-up iptunnel add tun0 mode gre remote 10.25.13.2 local 10.21.1.3 ttl 255
       pointopoint 194.141.67.109
       post-down iptunnel del tun0

А на втората машина.

auto tun0
iface tun0 inet static
       address 194.141.67.109
       netmask 255.255.255.252
       up ifconfig tun0 multicast
       pre-up iptunnel add tun0 mode gre remote 10.21.1.3 local 10.25.13.2 ttl 255
       pointopoint 194.141.67.110
       post-down iptunnel del tun0

За всеки случай, ако първата или втората машина не са Debian или debian базирани, конфигурацията би изглеждала така. Това би трябвало да работи на всички Linux дистрибуции със зареден модул modprobe ip_gre

ip tunnel add tun0 mode gre local 10.21.1.3 remote 10.25.13.2 ttl 255
ifconfig tun0 194.141.67.110 netmask 255.255.255.252

ip tunnel add tun0 mode gre local 10.25.13.2 remote 10.21.1.3 ttl 255
ifconfig tun0 194.141.67.109 netmask 255.255.255.252

При енкапсулацията на тунели често има проблем с големината на пакетите и като резултат една част от трафика не може да премине. Решението на проблема е в долния ред.

iptables -t mangle -A POSTROUTING -p tcp --tcp-flags SYN,RST SYN -o tun0 -j TCPMSS --clamp-mss-to-pmtu

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.