#author("2025-04-15T01:47:44+00:00","default:iseki","iseki") * Network Programing 演習 #author("2025-04-15T01:48:01+00:00","default:iseki","iseki") * Network Programming 演習 ** 2020 後期:新型コロナの影響でCISCO実機を使用できない場合. [#kcd7ecd1] - [[VyOS]] を使用 - Routing 演習 *** 学生の自宅 (CentOS8)[#r76ff3ac] - VMWare 上で [[CentOS8]] を動かす(前期に構築済み) - CentOS8 で [[Docker]] を利用して [[VyOS]] を動かす. - 最終的に,自宅の Linux(CentOS8)に,大学内からアクセス可能な固定IP環境を構築する.DNSも作る **** VyOS [#r7816c42] - [[VyOS]] 内で [[OpenConnect]] を起動して,大学にトンネルを掘る. -- Dcoker 内で openconnect を動かす(またはDNSを引く)には,ホスト側で firewalld を止めた方が良い. --- 後で Firewall の条件をチェックする. -- Docker のイメージが動いている最中に firewalld を止めて駄目 => Dockerを再起動 - [[OpenConnect]] による VPNは point-to-point で /32 の通信路ができ,ブロードキャストアドレスが存在しないので,''RIPの情報を流せない'' -- OSPF を流して,大学入り口で処理してもらう. -- RIP が使えない原因に気が付くのに1日かかった! **** Command [#j6db0d7a] - Docker # docker network create --driver=bridge --subnet=172.22.240.8/29 netp_bridge # docker images # docker run -d --name vyos --privileged -v /lib/modules:/lib/modules --net netp_bridge vyos-1.3r:200921 /sbin/init # docker exec -it vyos vbash (コンテナ内) # openconnect -b 202.26.###.### (コンテナ内) # exit # docker exec -it --user 1003 vyos vbash (コンテナ内) $ ip a (コンテナ内) $ show interfaces (コンテナ内) $ show configuration (コンテナ内) $ configure (コンテナ内) # set protocols ospf parameters router-id 172.22.240.8 (コンテナ内) # set protocols ospf area 0 network 172.22.240.8/29 (コンテナ内) # set protocols ospf area 0 network 172.22.104.0/24 (コンテナ内) # show protocols (コンテナ内) # commit (コンテナ内) # run show configuration (コンテナ内) # run show ip ospf neighbor (コンテナ内) # run ping 172.24.1.1 - show protocol protocols { ospf { area 0 { network 172.22.240.8/29 network 172.22.104.0/24 } parameters { router-id 172.22.240.8 } } } - ホスト側の static ルーティング # ip route # route add -host 202.26.###.### gw 192.168.206.2 (openconnect の通信路) # route add default gw 172.22.240.10 (VyOSを default router とする) -- 間違えると,openconnect が止まる. -- 元の default route は,誤作動する様なら消す (rout del default gw 192.168.206.2) *** 大学の入口 (CentOS7) [#d939685a] - [[OpenConnect]] サーバ (ocserv) を動かす. - [[Quagga]] で RIPと OSPFを動かす. - OSPFの情報(学生の自宅のネットワーク情報)は redistribute ospf で RIPに取り込んで学内に流す. - vpns# (tun0)の情報は redistribute connect で RIPに取り込んで学内に流す. router rip version 2 redistribute connected redistribute ospf network 202.26.###.###/28 ! router ospf ospf router-id 202.26.###.### network 172.22.104.0/24 area 0.0.0.0 network 202.26.###.###/28 area 0.0.0.0 ! *** Network 図 [#w5435870] +---------------+ tun0(172.22.104.81) (172.22.104.1)vpns# +--------------+ | Docker(VyOS) | OpenConnect <--------------------> OpenConnect | CentOS7 | | | | | <-----> 大学内部 | 172.22.240.10 | | Quagga (FRR) | +------+---------------+ +--------------+ | 172.22.240.9 | | | | VMWare (CentOS8) | +-----------------(NAT)+ | Windows | +----------------------+ 自宅