ネットワーク上のすべてのスイッチ(またはデバイスのサブセット)にVLANを追加する必要性をどのように処理しますか?現在、毎週約6個の新しいVLANを追加していますが、ネットワークの成長に伴い、これは非常に面倒で危険な作業になります。
ネットワーク上のすべてのスイッチ(またはデバイスのサブセット)にVLANを追加する必要性をどのように処理しますか?現在、毎週約6個の新しいVLANを追加していますが、ネットワークの成長に伴い、これは非常に面倒で危険な作業になります。
回答:
これは、デバイスのリスト(devicelist.txtというファイルの各行に1つ)にtelnetして、いくつかのコマンドを構成するためのPerlの本当に基本的なスクリプトテンプレートです。あなたが何をしているのかに応じて、それは良いスタートを提供するはずです。
use Net::Telnet::Cisco;
# read in a list of devices
my @devicelist;
open(DATA, "<devicelist.txt") || die "Can't open file!";
while (<DATA>) {
chomp;
push( @devicelist, $_);
}
# loop through the devices
foreach $hostname (@devicelist)
{
# telnet to device
my $cs = Net::Telnet::Cisco->new(Host => $hostname);
# login, go enable, disable paging, go into config mode
$cs->login( "username", "password" );
$cs->enable( "enable_password" );
$cs->cmd( 'terminal length 0' );
$cs->cmd( 'config t' );
# configure the device
$cs->cmd( 'vlan 100, 200, 300' );
$cs->cmd( 'interface Ethernet0' );
$cs->cmd( ' switchport access vlan 100' );
# exit config mode and write the config
$cs->cmd( 'end' );
$cs->cmd( 'wr mem' );
# close the connection
$cs->close;
}
Net :: Telnet :: Ciscoの詳細もここにあります。
いくつかの選択肢があると思います。
構成管理ソフトウェアは検討する価値があるかもしれません-Puppet のネットワークデバイス管理は、多数のシスコデバイスにVLANを簡単に追加できます(シスコを使用している場合)。
現在直面している課題は、混合環境に移行することです。シスコからのジュニパーに向かっていると言っていますか?純粋なシスコ環境では、パスワードを使用したVTP v3が4k VLANを超えてサポートします。ジュニパーネットワークスでは、GVRPに相当します。
Shane Madden、SolarWinds、HP OpenViewなどで言及されたPuppetなど、何らかの形態の集中管理を使用できる場合がありますが、管理するスクリプトはまだ2つあります。
現時点では、あるベンダーから別のベンダーに移行する際に、できる限りシンプル(KISS)に保つようにします。適切なハードウェアでVTPとGVRPを使用するのがおそらく方法であり、他のソリューションに潜在的なコストを追加したり、別の新しいものを管理する複雑さを追加したりしません。
VTPがあなたの答えかもしれません。他の「自動化された」ツールと同様、リスクもありますが、適切な計画を立てることでそれらを軽減できます。また、その仕組みを理解するために読んでおく必要があります。または、うっかり自分の問題を作成できることを確認してください(これも自動化ツールと同様です)。
VTPバージョン3をお勧めします。これは、潜在的な問題のいくつかから保護するのに役立ち、追加の利点を提供します。
選択した検索エンジンで「vtp version 3 configuration」を検索することにより、数百のドキュメントを簡単に見つけることができます。
SolarwindのNetwork Configuration Managerは、IOSデバイスおよびその他のデバイスでスクリプトを実行できます。
また、夜間の構成バックアップ、変更レポート、構成監査なども実行します。彼らの価格設定は恐ろしいものではありませんが、彼らはOrion Network Performance MonitorとNCMを統合しているので、NCMを個別に実行できるかどうかはわかりません。
コアが折りたたまれているようです。あれは正しいですか?
新しいVLANの追加に基づいて多くの変更を処理する1つの方法は、L3境界をアクセスに近づけることです。事前にいくつかの作業が必要ですが、設計が適切に計画され、考え出された場合、新しいVLANを1から3のデバイスタスクに追加する必要があります(L3がディストリビューションレイヤーまたはアクセスレイヤーで停止するかどうかによって異なります)。
リンクが失われた場合の収束の高速化など、他の多くの利点もあります。
net-scpおよびnet-ssh gemでrubyを使用して、ネットワーク機器のタスクを自動化します。コマンドを実行するための非常に短いスクリプトです(完成品ではなく抜粋):
begin
Net::SSH.start(fqdn, username, :password => loginPassword) do |session|
output = ""
channel = session.open_channel do |ch|
ch.send_channel_request "shell"
ch.on_data do |ch, data|
output += data
end
ch.send_data "conf t\n\r"
#Some tasks here
ch.send_data "exit\n\r" #Exit config mode
ch.send_data "exit\n\r" #Exit device
end
# Wait for everything to complete
channel.wait
end
rescue Exception=>e
errorOutput = fqdn + ": " + e.to_s
puts errorOutput
puts output
return device
end
return output
空白のloginPassword変数が必要であることに注意してください。空白の場合、ログインにRSA公開キーが使用されます(HP ProCurveおよびCisco 15.Xプラットフォームでサポートされます)。
gitのようなものといくつかの短いスクリプトを使用して、すべての機器構成を変更の差分と変更者で整理することができます(エンジニアが構成を取得し、作業の完了後にそれらをコミットすると仮定します)。
また、言うまでもありませんが、念のため、実稼働機器で実行する前に、常にラボでスクリプト化された作業をテストしてください。特に、コマンドを実行して構成を変更する場合。テスト、テスト、テスト。
ネットワークデバイスに同じコンストラクタ(たとえばCisco)を使用する場合、SecureCRTが最適です。これは、販売時に複数の端末でコマンドを送信する可能性を与えるSSHクライアントです。
1.異なるタブですべてのデバイスに接続する2.表示する3. [チャットウィンドウ]オプションをチェックする4.ウィンドウを右クリックする-> [すべてのタブにチャットを送信する]をチェックする
NOC、NOC Projectを使用できます。これは、ISP用のスケーラブルで高性能なオープンソースOSSシステムです。ネットワーク全体にVLANを簡単に追加できます。