Sunucuları bir VLAN'a bağlama
Bu kılavuz, ağ trafiğini izole etmek ve kontrol etmek için Linux sunucularında VLAN'ların nasıl yapılandırılacağını açıklar. Aşağıdaki adımlar Ubuntu 22.04, Debian 11 ve AlmaLinux 9 / Rocky Linux 9 sistemlerini kapsar.
Sunucuda VLAN'ları yapılandırmadan önce switch portunun doğru şekilde yapılandırıldığından emin olun. Etiketli VLAN'lar için switch portu gerekli VLAN ID'lerine izin vermelidir. Etiketsiz trafik için port access modunda olmalı ve uygun VLAN'a atanmalıdır.
8021q çekirdek modülünü kontrol etme
Tüm dağıtımlarda VLAN'ları yapılandırmadan önce 8021q çekirdek modülünün yüklü olduğunu kontrol edin:
lsmod | grep 8021q
Modül yüklü değilse şu komutu çalıştırın:
sudo modprobe 8021q
Modülün kalıcı olarak yüklenmesini sağlamak için /etc/modules dosyasına ekleyin:
echo "8021q" | sudo tee -a /etc/modules
Ubuntu 22.04
Ubuntu 22.04 ağ yapılandırması için netplan kullanır.
Ağ arayüzünü belirleme
Arayüz adını bulmak için aşağıdaki komutu çalıştırın:
ip link show
Aşağıdaki örneklerde arayüz enp0s8 olarak kullanılmaktadır.
Etiketsiz bir access port için ağ yapılandırması
Bu bölümde, bir VLAN alt arayüzü oluşturmadan fiziksel arayüze doğrudan statik bir IP adresi atanması açıklanmaktadır.
Netplan yapılandırma dosyasını açın:
sudo nano /etc/netplan/*.yaml
Aşağıdaki yapılandırmayı ekleyin. Her sunucuda farklı IP adresleri kullanın:
Sunucu 1:
network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.1/24 routes: - to: default via: 192.168.1.254
Sunucu 2:
network: version: 2 ethernets: enp0s8: dhcp4: no addresses: - 192.168.1.2/24 routes: - to: default via: 192.168.1.254
gateway4 parametresi netplan 0.100 sürümünden itibaren kullanımdan kaldırılmıştır ve uyarıya neden olur. Bunun yerine yukarıda gösterildiği gibi routes: kullanın.
Uygulamadan önce yapılandırmayı test edin. Komut, onay için 120 saniyeye kadar bekler ve onay verilmezse yapılandırmayı otomatik olarak geri alır. Bu özellikle uzak sunucularda kullanışlıdır:
sudo netplan try
Yapılandırma geçerliyse uygulayın:
sudo netplan apply
Adresin atandığını doğrulayın:
ip addr show enp0s8
Etiketli VLAN'ları yapılandırma
Netplan yapılandırma dosyasını açın ve VLAN arayüzlerini ekleyin. Her sunucuda ve her VLAN'da farklı IP adresleri kullanın:
Sunucu 1:
network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.1/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.1/24
Sunucu 2:
network: version: 2 ethernets: enp0s8: dhcp4: no vlans: vlan10: id: 10 link: enp0s8 addresses: - 192.168.10.2/24 vlan20: id: 20 link: enp0s8 addresses: - 192.168.20.2/24
Aynı IP adreslerinin kullanılması çakışmaya neden olur. Her sunucunun her VLAN üzerinde benzersiz bir IP adresi olmalıdır.
Normalde yalnızca bir VLAN arayüzünde varsayılan ağ geçidi bulunmalıdır. Gelişmiş yönlendirme yapılandırılmadıysa birden fazla VLAN arayüzüne ağ geçidi atanması yönlendirme sorunlarına neden olabilir.
Yapılandırmayı test edin ve uygulayın:
sudo netplan try sudo netplan apply
Sonucu kontrol edin:
ip addr
VLAN etiketlemenin doğru çalıştığını doğrulamak için:
ip -d link show vlan10 ip -d link show vlan20
Bağlantıyı kontrol edin:
ping 192.168.10.2 ping 192.168.20.2
Debian 11
Debian 11 ağ yapılandırması için /etc/network/interfaces dosyasını kullanır.
Vlan paketini yükleme
Temiz bir Debian kurulumunda VLAN arayüzlerini yapılandırmadan önce vlan paketini yükleyin:
sudo apt update sudo apt install vlan
Ağ arayüzünü belirleme
ip link show
Aşağıdaki örneklerde arayüz enp0s8 olarak kullanılmaktadır.
Etiketsiz bir access port için ağ yapılandırması
Bu bölümde, bir VLAN alt arayüzü oluşturmadan fiziksel arayüze doğrudan statik bir IP adresi atanması açıklanmaktadır.
Her sunucuda /etc/network/interfaces dosyasına aşağıdakileri ekleyin.
ip addr add komutu bir adresi geçici olarak atar ve yeniden başlatma sonrasında korunmaz. Kalıcı hale getirmek için aşağıdaki kalıcı yapılandırmayı kullanın.
Sunucu 1:
auto enp0s8 iface enp0s8 inet static address 192.168.1.1/24 gateway 192.168.1.254
Sunucu 2:
auto enp0s8 iface enp0s8 inet static address 192.168.1.2/24 gateway 192.168.1.254
Yapılandırmayı yeniden başlatmadan uygulayın:
sudo systemctl restart networking
Adresin etkin olduğunu doğrulayın:
ip addr
Sunucuların birbirine erişebildiğini kontrol edin:
ping 192.168.1.2
Etiketli VLAN'ları yapılandırma
Her sunucuda VLAN arayüzlerini /etc/network/interfaces dosyasına ekleyin. Her sunucuda ve her VLAN'da farklı IP adresleri kullanın.
Sunucu 1:
auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.1/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.1/24
Sunucu 2:
auto enp0s8.10 iface enp0s8.10 inet static address 192.168.10.2/24 gateway 192.168.10.254 auto enp0s8.20 iface enp0s8.20 inet static address 192.168.20.2/24
Yapılandırmayı uygulayın:
Uzak bir sunucuda ağ hizmetini yeniden başlatmak mevcut SSH oturumunu kesebilir.
sudo systemctl restart networking
Sonucu kontrol edin:
ip addr
VLAN etiketlemenin doğru çalıştığını doğrulamak için:
ip -d link show enp0s8.10 ip -d link show enp0s8.20
Bağlantıyı kontrol edin:
ping 192.168.10.2 ping 192.168.20.2
AlmaLinux 9 / Rocky Linux 9
AlmaLinux 9 ve Rocky Linux 9 ağ yapılandırması için NetworkManager kullanır. Bağlantıları yönetmek için önerilen araç nmcli'dir. /etc/sysconfig/network-scripts/ tabanlı eski yöntem RHEL 9 tabanlı dağıtımlarda desteklenmez.
Ağ arayüzünü belirleme
nmcli device status
Aşağıdaki örneklerde arayüz enp0s8 olarak kullanılmaktadır.
Mevcut bağlantıları kontrol etme
Yeni bir bağlantı eklemeden önce arayüz için mevcut bir bağlantı profilinin olup olmadığını kontrol edin:
nmcli connection show
enp0s8 üzerinde mevcut bir profil etkinse çakışmaları önlemek için silin. Profil adını yukarıdaki çıktıda göründüğü şekilde aynen kullanın. Mevcut profil hosting sağlayıcınız veya cloud-init tarafından oluşturulduysa bu adımı atlayın:
nmcli connection delete "Wired connection 1"
Etiketsiz bir access port için ağ yapılandırması
Fiziksel arayüze statik bir IP adresi atayın.
Sunucu 1:
nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.1/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary
Sunucu 2:
nmcli connection add type ethernet con-name "enp0s8-primary" ifname enp0s8 \ ipv4.method manual ipv4.addresses 192.168.1.2/24 \ ipv4.gateway 192.168.1.254 \ connection.autoconnect yes nmcli connection up enp0s8-primary
Adresin atandığını doğrulayın:
ip addr show enp0s8
Sunucular arasındaki bağlantıyı kontrol edin:
ping 192.168.1.2
Etiketli VLAN'ları yapılandırma
Fiziksel arayüz üzerinde bir VLAN arayüzü oluşturun. Her sunucuda her VLAN için farklı IP adresleri kullanın.
Sunucu 1:
nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.1/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.1/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20
Sunucu 2:
nmcli connection add type vlan con-name vlan10 ifname enp0s8.10 \ vlan.parent enp0s8 vlan.id 10 \ ipv4.method manual ipv4.addresses 192.168.10.2/24 \ connection.autoconnect yes nmcli connection add type vlan con-name vlan20 ifname enp0s8.20 vlan.parent enp0s8 vlan.id 20 ipv4.method manual ipv4.addresses 192.168.20.2/24 connection.autoconnect yes nmcli connection up vlan10 nmcli connection up vlan20
Aynı IP adreslerinin kullanılması çakışmaya neden olur. Her sunucunun her VLAN üzerinde benzersiz bir IP adresi olmalıdır.
Sonucu kontrol edin:
ip addr
VLAN etiketlemenin doğru çalıştığını doğrulamak için:
ip -d link show enp0s8.10 ip -d link show enp0s8.20
Bağlantıyı kontrol edin:
ping 192.168.10.2 ping 192.168.20.2
Sorun giderme
VLAN arayüzleri görünmüyorsa veya trafik almıyorsa:
- switch portunun gerekli VLAN ID'lerine izin verdiğini kontrol edin;
- hipervizörün vSwitch'inin veya port grubunun VLAN etiketlerinin geçmesine izin verecek şekilde yapılandırıldığından emin olun;
- yapılandırmada doğru üst arayüzün belirtildiğinden emin olun;
- 8021q çekirdek modülünün yüklü olduğunu doğrulayın: lsmod | grep 8021q.