読者です 読者をやめる 読者になる 読者になる

底辺エンジニアの備忘録

30過ぎて、記憶力低下が著しい為、メモ代わりにしていく予定。 自身のスキルが低いので、内容の正確さは保障できません・・・OTL

KVMゲストOS メモ

前回に続いて備忘代わり

 

KVMのゲストを別KVMサーバへ移行する時等は、イメージファイルと、XMLファイルを対象のサーバに移動させて「virsh define」実行すればいいので割りとお手軽

そんなわけで、ゲストOSをアドレスだけ変えて、別環境にコピーを作る・・・という使い方も出来なくはない。 ただし、コピーの作り先がオリジナルと同じセグメントだと、これは忘れがちになりそうなのでメモ

 

コピー元のKVMゲスト(Guest1)のIP:192.168.1.101/24

コピー先のKVMゲスト(Guest2)のIP:192.168.1.102/24

 

続きを読む

KVMインストール

cisco Linux

ここ数年はサーバはNWの検証(LBのWebサーバのヘルスチェック等)程度でしか触ってなかったのでESXiで特に不満は感じなかったものの、折角なので今更感はあるもののKVMをやってみることにした。

 インストール時の設定を備忘として以下に記載。

前提として、BIOSでCPUの仮想化機構機能を有効にしている
そして、SElinuxはDisable(これも後々ちゃんとやらないとなぁ)

 

続きを読む

MP-BGP

cisco Linux

キャリアのIP-VPNサービスを使う際に、使用可能なルーティングプロトコルでBGPをよく聞くので、これを機会にちょっと確認

 

構成は下図

f:id:klock_3rd:20160406225954p:plain

ここでR1、R6が拠点側のルータ・・・要は、サービス申込者が用意するCEルータ
R2、R3、R4、R5はキャリアのIP-VPN網と想定

 

全部のConfigを乗っけたら結構な量になるので、R1、R2、R5の必要な点だけメモ
因みに、R3、R4はIF上でMPLSを有効にして、OSPFでR2~R5間の経路を広告するだけの設定

 

続きを読む

BGP for IPv6

cisco Linux

前回がBGPだったので、このタイミングでIPv6もやってみた。

構成はR1→AS1、R2→AS2、R3→AS3、R4→AS4

 

f:id:klock_3rd:20160403014122p:plain

 

R1のConfig(BGP部分のみ)

router bgp 1
no synchronization
bgp router-id 1.1.1.1
bgp log-neighbor-changes
neighbor 2000::FFFF remote-as 2
no neighbor 2000::FFFF activate  ・・・①
no auto-summary
!
address-family ipv6
neighbor 2000::FFFF activate ・・・②
neighbor 2000::FFFF soft-reconfiguration inbound
network 2004::/64
exit-address-family

 
BGPでは、ルータコンフィグレーションモードでのネイバー指定は、
IPv6アドレスで設定したとしても基本的にIPv4のルート情報を通知するために用いる模様。 なので、②address-familyモードでネイバーをactivateする必要があるっぽい。

 

show ipv6 routeでの結果

R1#sho ipv6 route
B 2003::/64 [20/0]
via FE80::2, FastEthernet0/0

 

#FE80::2はR2のリンクローカルアドレス

 

BGPはIPv4のみで、経験もそこまで多くなかったから色々ちょっと調べておこう。

 

とりあえずおわり

マルチホームの非トランジットでのBGP

cisco Linux

今回BGPでマルチホーム接続をすることになったので、メモ

構成はこんな感じで、今回はR1を自ASとする。

R1→AS1、R2→AS2、R3→AS3、R4→AS4

     

f:id:klock_3rd:20160331221400p:plain

 

何も考えずに適当にBGPのConfigを作るとたぶんこんな感じ。

R1#sho run | sec router bgp
router bgp 1
no synchronization
bgp log-neighbor-changes
network 10.1.1.1 mask 255.255.255.255
neighbor 192.168.1.254 remote-as 2
neighbor 192.168.1.254 soft-reconfiguration inbound
neighbor 192.168.2.254 remote-as 3
neighbor 192.168.2.254 soft-reconfiguration inbound
no auto-summary
R1#
 

そうすると、当然R2のルータにはR4のloop0への経路が分かる。 

R2#sho ip bgp

Network     Next Hop  Metric LocPrf Weight Path
*> 10.1.1.1/32  192.168.1.1  0        0  1 i
*> 10.1.2.1/32  192.168.1.1          0  1 3 4 i
R2#

 

今回はR1はマルチホーム接続だけど、非トランジットにしたいからR4の経路は流したくない。 なので、AS-pathを使う。

router bgp 1

no synchronization
bgp log-neighbor-changes
network 10.1.1.1 mask 255.255.255.255
neighbor 192.168.1.254 remote-as 2
neighbor 192.168.1.254 soft-reconfiguration inbound
neighbor 192.168.1.254 filter-list 1 out
neighbor 192.168.2.254 remote-as 3
neighbor 192.168.2.254 soft-reconfiguration inbound
neighbor 192.168.2.254 filter-list 1 out
no auto-summary
!
ip as-path access-list 1 permit ^$

再び、R2での確認

 R2#show ip bgp

Network    Next Hop   Metric LocPrf Weight  Path

*> 10.1.1.1/32 192.168.1.1   0        0   1 i
R2#

 

とりあえず確認おわり

 

・・・と思ったけど、prefix-listの方が楽な気がした。

router bgp 1
no synchronization
bgp log-neighbor-changes
network 10.1.1.1 mask 255.255.255.255
neighbor 192.168.1.254 remote-as 2
neighbor 192.168.1.254 soft-reconfiguration inbound
neighbor 192.168.1.254 prefix-list origin out
neighbor 192.168.2.254 remote-as 3
neighbor 192.168.2.254 soft-reconfiguration inbound
neighbor 192.168.2.254 prefix-list origin out
no auto-summary
!
ip prefix-list origin seq 5 permit 10.1.1.1/32

 

R2の結果は同じなので、略

正規表現に抵抗なければ気にはならないだろうけど、マルチホームで非トランジットってだけなら、逆にprefix-listの方が分かりやすい気がするな。

 

とりあえずおわり

続・NAT-PT検証

とりあえず、前回の検証ではIPv6IPv4のアドレス変換は確認できた。

前回の内容は以下。

 

klock-3rd.hatenablog.com

 

今度は、R1配下に192.168.1.0/24のセグメントを用意して、そのアドレスをNAT-PTさせてみる。

 

R1のFa1に192.168.1.0/24のセグメントを用意し、そこにぶら下がるPCをR2でのNAT-PT対象とする。 当然、R2は192.168.1.0/24の経路も知らないため、Staticルートも追加。

 

結果は前回同様疎通は確認できた。

 

検証おわり 

 

CiscoのIPv6⇔IPv4のNAT検証 NAT-PT

cisco Linux

普通のIPv4でのNATは経験あるけど、IPv6IPv4のNATについては未経験だったのでちょっと勉強

 

<構成>

     f:id:klock_3rd:20160313205947p:plain

必要そうなConfigのみ記載

なお、機器は全てCisco 1812J

  

 <R1>

 interface FastEthernet0
ip address 192.168.30.9 255.255.255.0
duplex auto
speed auto

ip route 0.0.0.0 0.0.0.0 192.168.30.10

 

 <R2>

no ip cef
ipv6 unicast-routing
no ipv6 cef
!

interface FastEthernet0
ip address 192.168.30.10 255.255.255.0
duplex auto
speed auto
ipv6 enable
ipv6 nat
!
interface FastEthernet1
no ip address
duplex auto
speed auto
ipv6 address 2001:DB8:3002::9/64
ipv6 enable
!

ipv6 route ::/0 2001:DB8:3002::10
ipv6 nat v4v6 source 192.168.30.9 2000::960B:202
ipv6 nat v6v4 source 3001:11:0:1::1 150.11.3.1
ipv6 nat prefix 2000::/96

  

<R3>

interface Loopback0
no ip address
ipv6 address 3001:11:0:1::1/64 
!
interface FastEthernet1

no ip address
duplex auto
speed auto
ipv6 address 2001:DB8:3002::10/64

 

ipv6 route ::/0 2001:DB8:3002::9

 

この状態で、R1のFa0から、150.11.3.1(R3のLoopback 0)へPingを実行

R1#ping 150.11.3.1 source fa0 repeat 50

→OK

今度は逆にR3のloopbakから、2000::960B:202(R1のFa0)へPingを実行

R3#ping 2000::960B:202 source loop0 repeat 50

→OK

 

注意点としてはNAT-PTを実装するルータではCEFを無効化する必要がある

でないと、パケットDropが発生するっぽい。

 

※R2で「ip cef 」、「ipv6 cef」を有効化した場合

R3#ping 2000::960B:202 source loop0 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 2000::960B:202, timeout is 2 seconds:
Packet sent with a source address of 3001:11:0:1::1
!.!.!.!.!.
Success rate is 50 percent (5/10), round-trip min/avg/max = 0/0/4 ms

 

R1#ping 150.11.3.1 source fa0 repeat 10
Type escape sequence to abort.
Sending 10, 100-byte ICMP Echos to 150.11.3.1, timeout is 2 seconds:
Packet sent with a source address of 192.168.30.9
!.!.!.!.!.
Success rate is 50 percent (5/10), round-trip min/avg/max = 1/1/4 ms
R1#

 

2回に一回は応答がない状況。 調べると、VRFなどの使用も制限されちるっぽいのでNAT-PTを使う際は要注意