nokia routerda belirli bir servis altındaki sapları silme ihtiyacı durumunda aşagıdaki kod kulllanılabilir.
import pandas as pd
from jinja2 import Environment, FileSystemLoader
# Excel dosyasını oku
df = pd.read_excel('sap_delete.xlsx')
# Jinja2 ortamını ayarla (şablon dosyası ile aynı dizinde çalıştığını varsayıyoruz)
env = Environment(loader=FileSystemLoader('.'))
template = env.get_template('sap_delete_template.j2')
# Excel'den okunan veriyi listeye çevir
data = df.to_dict(orient='records')
# Jinja2 ile konfigürasyon dosyasını oluştur
output = template.render(items=data)
# Sonucu dosyaya yaz
with open('sap_delete_config.txt', 'w', encoding='utf-8') as f:
f.write(output)
üretilecek komut için aşagıdaki jinja template ini kullanyoruz..
{% for item in items %}
/configure service vpls {{ item.SvcId }} sap {{ item.PortId }} shutdown
/configure service vpls {{ item.SvcId }} no sap {{ item.PortId }}
{% endfor %}
sap_delete_config.txt dosyasında tempalte sonucuna uygun konfigürasyon oluşmuş olacaktır..
kullanacağımız excel ise show service sap-using komutunun çıktısına uygun olarak aşagıdaki formatta olmaldıır..
PortId
SvcId
Ingress
Ing.
Egress
Egr.
Adm
Opr
lag-40:1011.0
1234
54
none
45
none
Up
Down
lag-42:1011.0
1234
54
none
45
none
Up
Down
lag-44:1011.0
1234
54
none
45
none
Up
Down
Gerekli kodları aşagdaıki github adresinden ulaşılabilir.
aşağıdaki topoloji üzerinde huawei ağ ekipmanlarını kullanarak basit bir mpls martini vpls örneği yapalım.
öncelikle loopback ve ip tanımlarını sırasıyla yapalım.
sysname R1
interface GigabitEthernet0/0/0
ip address 10.1.1.1 255.255.255.0
interface LoopBack0
ip address 192.168.0.1 255.255.255.255
sysname R2
interface GigabitEthernet0/0/0
ip address 10.1.1.2 255.255.255.0
interface GigabitEthernet0/0/1
ip address 10.2.2.2 255.255.255.0
interface LoopBack0
ip address 192.168.0.2 255.255.255.255
sysname R3
interface GigabitEthernet0/0/1
ip address 10.2.2.1 255.255.255.0
interface LoopBack0
ip address 192.168.0.3 255.255.255.255
tüm arayüzler aktif olduktan sonra örnekte ospf yönlendirme protokolünü kullanacağımız için yönlendiriciler üzerinde ospf leri aktif etmek için gerekli yapılandırmasını yapalım.
ospf de aktif olduktan sonra mpls tanımlarına başlayabiliriz. tüm yönlendiriciler de global de mpls i aktif edelim.
mpls lsr-id 192.168.0.x
mpls
mpls l2vpn
mpls ldp
sonrasında ağımızda yönlendiriciler arasındaki arayüz bağlantıları altında mpls, mpls ldp aktif ediyoruz.
interface GigabitEthernet0/0/x
mpls
mpls ldp
en temel kontrolleri yaptık bir sorun görülmüyor. şimdi pc1 – pc2 arasındaki haberleşmenin sağlanması için gerekli yapılandırmaya sıra geldi. öncelikle r1 den r3 , r3 den r1 doğru ldp remote tanımlarını yapmalıyız.
<R1>display mpls interface
Interface Status TE Attr LSP Count CRLSP Count Effective MTU
GE0/0/0 Up Dis 4 0 1500
<R1>
<R1>display mpls ldp session
LDP Session(s) in Public Network
Codes: LAM(Label Advertisement Mode), SsnAge Unit(DDDD:HH:MM)
A '*' before a session means the session is being deleted.
------------------------------------------------------------------------------
PeerID Status LAM SsnRole SsnAge KASent/Rcv
------------------------------------------------------------------------------
192.168.0.2:0 Operational DU Passive 0000:01:45 423/423
192.168.0.3:0 Operational DU Passive 0000:01:53 455/455
------------------------------------------------------------------------------
TOTAL: 2 session(s) Found.
[R1]display mpls route-state
Codes: B(BGP), I(IGP), L(Public Label BGP), O(Original BGP), U(Unknow)
--------------------------------------------------------------------------------
Dest/Mask Next-Hop Out-Interface State LSP VRF Type
--------------------------------------------------------------------------------
192.168.0.1/32 127.0.0.1 InLoop0 READY 1 0 I
192.168.0.2/32 10.1.1.2 GE0/0/0 READY 2 0 I
192.168.0.3/32 10.1.1.2 GE0/0/0 READY 2 0 I
son aşamaya gelmiş olduk. bilgisayarların bağlı arayüzler için tanımları da tapalım.
sysname R1
interface Ethernet0/0/1
l2 binding vsi vsi_for_pc
sysname R3
interface Ethernet0/0/1
l2 binding vsi vsi_for_pc
tüm yapılandırmaları tamamlamış olduk. şimdi bilgisayarlara ip leri girerek erişim kontrolleri yapalım. bilgisayarlarda ağ geçidi olarak karşı bilgisayarın iplerini girelim.
PC>ping 100.1.1.2
Ping 100.1.1.2: 32 data bytes, Press Ctrl_C to break
From 100.1.1.2: bytes=32 seq=1 ttl=128 time=94 ms
From 100.1.1.2: bytes=32 seq=2 ttl=128 time=156 ms
From 100.1.1.2: bytes=32 seq=3 ttl=128 time=62 ms
From 100.1.1.2: bytes=32 seq=4 ttl=128 time=94 ms
From 100.1.1.2: bytes=32 seq=5 ttl=128 time=110 ms
--- 100.1.1.2 ping statistics ---
5 packet(s) transmitted
5 packet(s) received
0.00% packet loss
round-trip min/avg/max = 62/103/156 ms
yönlendiricilere ait yapılandırmaların tam hali aşağıda yer almaktadır.