#WEB페이지 내의 HTML
<script>
function check() {
if (document.getElementById("netname").value == "") {
alert("네트워크명을 입력해주세요.");
return false;
}
else{
document.createnet.submit();
alert("입력이 완료되었습니다. \\nPrivate Subnet 생성까지 약 1분 소요 됩니다");
}
}
function myreset(){
document.createnet.reset();
}
</script>
<form action="wp-net.php" name="createnet" method="post">
<table class="is-style-stripes">
<tbody><tr>
<th>NETWORK_NAME</th>
<td><input type="text" name="netname" id="netname"></td>
</tr>
<tr>
<th>Private subnet</th>
<td><select name="ip" id="ip">
<option value="101">192.168.101.0/24</option>
<option value="102">192.168.102.0/24</option>
<option value="103">192.168.103.0/24</option>
<option value="104">192.168.104.0/24</option>
<option value="105">192.168.105.0/24</option>
</select></td>
</tr>
</tbody></table>
<input type="button" value="네트워크 생성" onclick="check()">
<input type="button" value="초기화" onclick="myreset()">
</form>
#네트워크 생성 클릭시 동작하는 php 파일
#/var/www/html/wordpress/wp-vm.php
<?php
$netname = $_POST['netname'];
$ip = $_POST['ip'];
$text = "cp /etc/libvirt/qemu/networks/original.xml /etc/libvirt/qemu/networks/$netname.xml";
$changename = "sed -i s/netname/$netname/g /etc/libvirt/qemu/networks/$netname.xml";
$chanegeip = "sed -i s/ipc/$ip/g /etc/libvirt/qemu/networks/$netname.xml";
system("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no [email protected] $text");
system("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no [email protected] $changename");
system("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no [email protected] $chanegeip");
$netstart = "virsh net-create /etc/libvirt/qemu/networks/$netname.xml";
system("sshpass -p test123 ssh -T -o StrictHostKeyChecking=no [email protected] $netstart");
header('Location: ' . $_SERVER['HTTP_REFERER']);
?>
#네트워크 생성을 위한 기본 파일
#/etc/libvirt/qemu/networks/original.xml
<network>
<name>netname</name>
<bridge name='virbr-netname' stp='on' delay='0'/>
<domain name='netname'/>
<ip address='192.168.ipc.1' netmask='255.255.255.0'>
<dhcp>
<range start='192.168.ipc.128' end='192.168.ipc.254'/>
</dhcp>
</ip>
</network>