Jun 9, 2018 IPSJ CE145
http://sim.internot.jp/vitocha/ce145/
中京大学工学部情報工学科 鈴木常彦
for group in `seq 0 2` do epairnum=`expr $epairnum + 1` t1=`expr $group "*" 3 + 1` ifconfig epair${epairnum}a vnet router0 ifconfig epair${epairnum}b vnet router${t1} jexec router0 ifconfig bridge1 addm epair${epairnum}a jexec router0 ifconfig epair${epairnum}a up jexec router${t1} ifconfig epair${epairnum}b up epairnum=`expr $epairnum + 1` t2=`expr $group "*" 3 + 2` ifconfig epair${epairnum}a vnet router${t1} (snip) done
Shell.def_system_command("ifconfig_org", path = "/sbin/ifconfig") def ifconfig(param) sh=Shell.new sh.transact{ ifconfig_org(*param.split) } end
ifconfig("epair0a inet 192.168.1.1 netmask 255.255.255.0") ifconfig("epair0a up")
class Router def initialize(jailname) ... jail(jailname) jexec(jailname,'ifconfig lo0 127.0.0.1/24 up') end def assignip(epair,ip,mask) ... end end
router0=Router.new('router0') router0.assignip('epair0b','192.168.1.254','255.255.255.0')
0.upto(10) do |num| "router#{num}"=Router.new() done
0.upto(10) do |num| eval("router#{num}=Router.new('router#{num}')") done
class Operator def setupserver(jailname) eval("$#{jailname}=Server.new('#{jailname}')") end def createpair ... end
tomocha=Operator.new
tomocha.setuprouter(router1) tomocha.setuprouter(router2)
a,b=tomocha.createpair tomocha.connect(router1,a) tomocha.connect(router2,b)
攻撃サーバ、rootサーバ、jpサーバ、キャッシュサーバをブリッジ接続し遅延を入れ実環境を模擬
2010年から学生の自律ネットワーク ConvivialNet の応援団として研究会を発足
数回のハンズオンを開催
(テキストは http://www.e-ontap.com/misc/v6tokaihandson.txt)
仮想 IPv6 ルータを作成し、こういうパケット (RA)を眺めるなど
root@v6server1:/ # tcpdump -n tcpdump: verbose output suppressed, use -v or -vv for full protocol decode listening on epair0b, link-type EN10MB (Ethernet), capture size 262144 bytes 03:29:14.159076 IP6 fe80::c0:e4ff:fe00:b > ff02::2: ICMP6, router solicitation, length 16 03:29:14.223744 IP6 fe80::c0:e4ff:fe00:a > ff02::1: ICMP6, router advertisement, length 56