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