Bir Linux ana makinesinin yalnızca kendi SMTP'sini tünelden dışarı göndermesi için dört şeyin hizalanması gerekir: ayrılmış bir tabloda rota, trafiği seçen bir politika kuralı, eşin kabul edeceği bir kaynak adres ve asimetriye dayanan bir dönüş yolu. Her biri kendi arıza moduna sahip ayrı bir yapılandırmadır. Aşağıdaki sıra, bir arızanın gerçekten yanlış olan parçayı işaret etmesini sağlar. Bu, bağlantı noktasına özgü bir yönlendirme işidir, VPN varsayılan rotası isteği değildir.

Bağlantı noktası kuralı varsayılan rota değildir

Yerel olarak oluşturulan TCP'yi hedef bağlantı noktası 25 ile eşleştiren bir kural, bu trafiği adını verdiğiniz tabloya gönderir. Kural kendi başına hiçbir şey oluşturmaz: seçer ve tabloda paketi taşıyabilecek bir rota bulunmalıdır. İkisinin birleşimi yalnızca bir protokolün giden yönünü kapsar, bu yüzden diğer ana makineler için iletme, gelen posta bağlantıları ve IPv6 bu düzenin dışında kalır. Buna VPN varsayılanı yerine bağlantı noktasına özgü politika demek o sınırı dürüst tutar.

İki wg-quick ayarı politikanın parçası değil, ön koşuldur. AllowedIPs = 0.0.0.0/0 eşin rastgele IPv4 hedefleri taşımasına izin verir ve Table = off wg-quick'in bu önek için kendi varsayılan rotasını kurmasını engeller. Bu talimatları kendi rota politikasını uygulayan bir yöneticiyle karıştırmayın, çünkü ikisi ana tablonun kime ait olduğunda anlaşamaz.

Rotayı, seçiciyi ve korumayı yazın

Başka hiçbir şeyin kullanmadığı bir tablo numarası ve bir öncelik çifti seçin, ardından rotayı, seçiciyi ve korumayı bu sırayla uygulayın. Aşağıdaki sayılar örnektir, ayrılmış değerler değildir:

ip -4 route add default dev wg0 src 10.77.0.2 table 51825
ip -4 rule add priority 10000 iif lo ipproto tcp dport 25 lookup 51825
ip -4 rule add priority 10001 iif lo ipproto tcp dport 25 unreachable

iif lo kuralı yerel kaynaklı trafikle sınırlar ve ipproto tcp dport 25 bağlantının yönünü tanımlar; ip-rule başvurusu iki seçiciyi de belgeler. Bunlar güncel çekirdeklerde ve iproute2 sürümlerinde vardır ve daha eski bir sistemde kural tümüyle reddedilir; bu, yüklenip hiçbir şeyle eşleşmeyen bir kuraldan daha açık bir arızadır.

Bir sonraki öncelikteki unreachable kuralı korumadır. O olmadan, tablo 51825 içinde eksik bir rota olağan varsayılana düşer ve tünel kesintisi sırasında posta fiziksel bağlantıdan çıkar; bu, politikanın önlemek için kurulduğu tam durumdur.

Kaynak adres uyuşmalıdır

Rotanın src tercihi yalnızca kendi kaynağını bağlamamış bağlantılar için kaynak doldurur. Bu bir çeviri değildir ve açık bir bağlamayı geçersiz kılmaz, bu yüzden fiziksel adrese bağlı bir servis o adresten göndermeye devam eder. Bunu bulursanız, servisin kendi ayarını değiştirin veya bilinçli bir çeviri politikası tasarlayın, çünkü geç yapılan kapsamlı masquerade farklı sonuçları olan farklı bir çözümdür.

Ağ geçidinde, istemcinin eşi gerçekte aldığı kaynağı yetkilendirmelidir; bu, geniş bir hedef öneki değil 10.77.0.2/32'dir. İstemcinin 0.0.0.0/0 değerini her ağ geçidi eşine kopyalamak hangi eşin hangi trafiğe sahip olduğunu bulanıklaştırır. Ağ geçidinin ayrıca iletmeye, akışa izin veren bir güvenlik duvarı politikasına ve dönüş yoluna ihtiyacı vardır; üst taraf özel bir tünel adresini yönlendiremediğinde giden çeviri de buna dahildir.

Dönüş yolunu, ardından kalıcılığı denetleyin

Bir şeye güvenmeden önce aramaları okuyun, çünkü her yönün hangi tabloyu ve hangi kaynağı aldığını gösterirler. 25 numaralı bağlantı noktasında bir hedef ve 443 numaralı bağlantı noktasında aynı hedef yeterlidir:

ip -4 route get 198.51.100.25 ipproto tcp dport 25
ip -4 route get 198.51.100.25 ipproto tcp dport 443

İlk arama wg0 ve amaçlanan kaynağı belirtmeli, ikincisi olağan üst bağlantıyı korumalıdır. Uygulama kendi adresini bağladığında, aramaya o adresle from ekleyin. wg0 adresine ulaşıp sonra yerel olarak düşürülen yanıt yönü IPv4 ters yol filtrelemesine işaret eder, çünkü yalnızca giden bağlantı noktasına yönelik bir kural ters aramayı tüneli seçmeye zorlamaz.

Asimetrik yönlendirmenin izin verildiği yerlerde, net.ipv4.conf.wg0.rp_filter=2 aracılığıyla arayüzle sınırlı gevşek mod uygun olabilir ve önce all ile arayüz değerlerinin etkin üst sınırını denetlemeye değer. Doğrulamayı kısa yol olarak genel olarak kapatmayın. Ardından tabloyu, öncelikleri ve korumayı yapılandırmanın sahibine teslim edin ve yeniden bağlandıktan sonra yeni bağlantılar açarak seçimin hâlâ geçerli olduğunu doğrulayın. Yerel bir SMTP dinleyicisinin yanıtlarının hedef bağlantı noktası 25 değil kaynak bağlantı noktası 25 taşıdığını unutmayın; bu ayrı bir politika sorusudur.

İlgili makaleler