60 lines
3.3 KiB
PHP
60 lines
3.3 KiB
PHP
<?php
|
|
|
|
echo '<html>
|
|
<head>
|
|
<title>25U Routing Practice</title>
|
|
</head>
|
|
<body>';
|
|
|
|
//Example picture
|
|
echo '<img src=/assets/25u/example_network.png />';
|
|
|
|
echo '<h3>IP Chart</h3>';
|
|
|
|
// RFC1918
|
|
$seed = rand(1,3);
|
|
switch($seed) {
|
|
case 1: $base="10.".rand(0,255) ; break;
|
|
case 2: $base="172.".rand(16,31) ; break;
|
|
case 3: $base="192.168" ; break;
|
|
}
|
|
|
|
// Random Class C
|
|
$thirdoctet=rand(0,255);
|
|
|
|
// Find three nonidentical nets
|
|
$netid1=rand(0,7);
|
|
$netid2=$netid1;
|
|
while ($netid2==$netid1) {
|
|
$netid2=rand(0,7);
|
|
}
|
|
$netid3=$netid1;
|
|
while ($netid1==$netid3 OR $netid2==$netid3) {
|
|
$netid3=rand(0,7);
|
|
}
|
|
|
|
// Format display
|
|
$displaynet1 = $base.'.'.$thirdoctet.'.'.($netid1*32).'/'.rand(27,29);
|
|
$displaynet2 = $base.'.'.$thirdoctet.'.'.($netid2*32).'/'.rand(27,29);
|
|
$displaynet3 = $base.'.'.$thirdoctet.'.'.($netid3*32).'/30';
|
|
|
|
// Render
|
|
echo '<table style="width:100%;"><tr><th style="width:150px;">Device</th><th style="width:150px;">Interface</th><th style="width:150px;">NetID</th><th style="width:150px;">IP Address</th></tr>';
|
|
|
|
echo '
|
|
<tr><th style="border: 1px solid;" colspan=4>Network 3</th style="border: 1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">RTR1</td style="border:1px solid;"><td style="border:1px solid;">G0/1</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet3.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">RTR2</td style="border:1px solid;"><td style="border:1px solid;">G0/1</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet3.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><th style="border: 1px solid;" colspan=4>Network 1</th style="border: 1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">RTR1</td style="border:1px solid;"><td style="border:1px solid;">G0/0</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet1.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">SW1</td style="border:1px solid;"><td style="border:1px solid;">VLAN 1</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet1.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">PC1</td style="border:1px solid;"><td style="border:1px solid;">NIC</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet1.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><th style="border: 1px solid;" colspan=4>Network 2</th style="border: 1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">RTR2</td style="border:1px solid;"><td style="border:1px solid;">G0/0</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet2.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">SW2</td style="border:1px solid;"><td style="border:1px solid;">VLAN 1</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet2.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
<tr><td style="border:1px solid;">PC2</td style="border:1px solid;"><td style="border:1px solid;">NIC</td style="border:1px solid;"><td style="border:1px solid;">'.$displaynet2.'<td style="border:1px solid;"> </td style="border:1px solid;"></tr>
|
|
';
|
|
echo '</table>';
|
|
|
|
echo '</body></html>';
|