[00:00.000 --> 00:02.680] And just run Gen 2 or Windows. [00:02.940 --> 00:10.280] You have to patch it to work with Xen, which is an example of a pair virtualized machine environment. [00:12.580 --> 00:13.300] Okay. [00:13.660 --> 00:16.200] This is the one that I personally use. [00:17.040 --> 00:19.320] And it's OS level virtualization. [00:19.600 --> 00:35.520] OS level virtualization engines were designed, instead of the other two, to be more secure and isolate the data and processes better, and therefore making it even more secure. [00:36.420 --> 00:46.040] Two examples of this is, I forget what it's called, but, SWsoft's Virtuoso and Linux vServer. [00:46.400 --> 00:55.420] Virtuoso is proprietary and that's what most of the VPS providers, if you've been on the Internet or Google ads, you've probably seen a lot of ads for them. [00:56.180 --> 00:57.540] That's what most of them use. [00:57.740 --> 01:00.560] I use Linux vServer and I'm going to be talking more about that. [01:01.840 --> 01:02.380] All right. [01:03.300 --> 01:06.740] And as I said, it's an example of OS level virtualization. [01:10.820 --> 01:11.380] So... [01:11.380 --> 01:12.000] Okay. [01:13.100 --> 01:18.720] Linux vServer provides virtualization for only Linux operating systems. [01:18.720 --> 01:28.300] So unlike Zen and unlike Microsoft virtual server, you can only run this on Linux and you can only run Linux virtual private servers inside of it. [01:29.300 --> 01:29.400] Okay. [01:29.960 --> 01:31.000] If... Okay. [01:33.140 --> 01:45.320] This environment, unlike the others, all use the same kernel for all the different VPSs, which therefore limits it to only Linux operating systems. [01:46.920 --> 01:52.540] And it's kind of like CH root, which is complicated, so I won't go over that. [01:54.180 --> 01:55.200] But... Okay. [01:56.640 --> 02:07.220] And in this environment, as I said, unlike the others, it guarantees more security and it utilizes resources more efficiently, which I'll touch on in a second. [02:12.780 --> 02:13.380] So... [02:13.380 --> 02:16.940] And for benefits and specific things regarding Linux vServer. [02:17.940 --> 02:27.140] Unlike Microsoft virtual server, Linux vServer is built into the kernel and, well, you have to patch the kernel on the host. [02:27.360 --> 02:32.180] And once you do that, there's really no daemons running other than the virtual private servers themselves. [02:33.120 --> 02:33.760] So... [02:33.760 --> 02:37.680] It therefore uses less overhead and... [02:38.720 --> 02:40.500] Everything will run much faster. [02:41.240 --> 02:46.280] Also, you don't need to pre-allocate disk space for each virtual private server. [02:46.960 --> 02:47.600] So... [02:47.600 --> 02:48.240] Like in... [02:49.120 --> 02:52.420] Zen, if you want to make a VPS for someone that's... [02:52.420 --> 02:56.060] That their limit is 2 gigabytes, you have to... [02:56.060 --> 02:59.660] On the host, you cannot use that 2 gigabytes. [02:59.900 --> 03:04.020] It's allocated to just that VPS and no one else can use it. [03:04.240 --> 03:09.640] In this environment, you can use LVM to limit this space, but... [03:09.640 --> 03:10.460] With... [03:12.100 --> 03:13.140] But the... [03:13.860 --> 03:16.660] The space will be available to anyone. [03:16.960 --> 03:18.200] And there's no limits. [03:18.420 --> 03:18.820] So... [03:18.820 --> 03:21.700] If someone doesn't use all their space, someone else can use it. [03:22.360 --> 03:22.880] Unless... [03:22.880 --> 03:24.720] As long as it's within their own limits. [03:26.820 --> 03:27.340] Okay. [03:28.440 --> 03:34.140] Also, another benefit to this is you can mix and match different Linux distributions. [03:35.700 --> 03:43.000] So, for example, I have people running a Gen2 VPS, which is a Linux distribution. [03:43.400 --> 03:46.400] A Debian VPS and a CentOS VPS. [03:46.640 --> 03:48.640] All on the same physical server. [03:48.880 --> 03:52.220] As opposed to just running in a regular server environment. [03:52.400 --> 03:53.620] Just running Red... [03:53.620 --> 03:54.220] Or... [03:54.220 --> 03:56.380] Just running Debian or just running Gen2. [03:56.620 --> 03:59.600] And having to have multiple physical servers to do that. [04:00.960 --> 04:02.900] Also, in this environment, you can... [04:03.760 --> 04:08.840] Update V servers independently, unlike a standard server environment. [04:09.160 --> 04:09.400] So... [04:09.400 --> 04:14.740] If you're familiar with Gen2 or Debian, they use a tree for package management. [04:15.180 --> 04:15.740] So... [04:15.740 --> 04:20.800] In this way, I can not allocate space for each portage or Debian tree. [04:20.940 --> 04:24.500] I can have one tree for the whole server and everyone can share it. [04:25.420 --> 04:25.980] So... [04:25.980 --> 04:27.540] It saves space and saves time. [04:28.280 --> 04:31.880] Also, with this, you can run a 64-bit processor. [04:31.880 --> 04:37.040] But use 32 and 64-bit operating systems. [04:37.480 --> 04:40.360] Which many of the other engines cannot use. [04:42.200 --> 04:42.560] Okay. [04:43.760 --> 04:46.080] Also, which I'll touch on later. [04:46.300 --> 04:48.660] Security is a major factor in this technique. [04:48.880 --> 04:49.140] So... [04:49.140 --> 04:51.340] In this technique, everything is isolated. [04:51.340 --> 04:51.780] So... [04:51.780 --> 05:03.040] If a V server is hacked or cracked or something, the host server, which is the main server that is running all these V servers, can enter it and fix it. [05:03.480 --> 05:04.060] But... [05:04.060 --> 05:09.980] Someone who hacked into the V server cannot get into other people's data. [05:12.460 --> 05:13.020] Okay. [05:14.180 --> 05:14.740] So... [05:14.740 --> 05:15.780] Improve security. [05:16.500 --> 05:16.740] So... [05:16.740 --> 05:24.200] So let's say you have a server running mail, MySQL, Apache, a DNS server, and asterisk. [05:24.820 --> 05:30.580] Now, there's at least five different applications listening to the network request and listening to the data at once. [05:30.840 --> 05:33.000] Any of them can contain security holes. [05:33.000 --> 05:41.460] With this method, what you can do is put each application into a virtual private server. [05:41.720 --> 05:46.980] So if one gets cracked or hacked into, not everything else is compromised. [05:47.260 --> 05:52.600] So if asterisk has a hole and it gets cracked, then the database is still running. [05:54.200 --> 05:54.660] Okay. [05:58.960 --> 05:59.560] Now... [05:59.560 --> 06:00.940] Server consolidation. [06:00.940 --> 06:04.280] This is also a great thing to use virtual private servers for. [06:04.980 --> 06:06.000] In a... [06:07.920 --> 06:08.560] Okay. [06:08.760 --> 06:09.240] So... [06:09.240 --> 06:12.660] In a data center, let's say you have three different servers. [06:13.720 --> 06:14.380] What you can... [06:14.380 --> 06:29.720] And though it increases availability and improves security to have multiple servers just in case one goes down or something gets cracked, it also increases the cost of hardware and space to co-locate or dedicate your servers. [06:29.720 --> 06:30.660] So... [06:30.660 --> 06:33.900] A solution to this is to create a VPS for each application. [06:34.700 --> 06:35.180] So... [06:35.180 --> 06:36.440] Like I said in the other... [06:36.440 --> 06:42.380] The other example, you have a VPS just for MySQL, VPS just for asterisk, one for Apache. [06:43.520 --> 06:48.480] And you can run them all simultaneously, transparently, so... [06:48.480 --> 06:59.480] If one gets cracked, not everything else gets compromised, but you still have the security... [07:00.320 --> 07:04.800] Or you still have the isolation of multiple physical servers. [07:05.100 --> 07:07.980] And if you have questions at any time, I'll be happy to explain. [07:09.520 --> 07:12.820] Any basic questions regarding this? [07:13.280 --> 07:13.900] At all? [07:14.900 --> 07:15.100] No? [07:15.940 --> 07:16.260] Okay. [07:16.860 --> 07:17.280] Well, if you do... [07:17.280 --> 07:18.160] Talk about performance. [07:18.980 --> 07:19.880] I'm getting to that. [07:19.940 --> 07:23.560] Doesn't it slow things down to have all this stuff running at virtual servers? [07:24.340 --> 07:25.940] Well, I'm getting to that, too. [07:26.760 --> 07:27.160] Okay. [07:27.380 --> 07:27.860] Sorry. [07:28.100 --> 07:28.420] Sorry. [07:29.940 --> 07:31.500] That will be the next benefit. [07:31.500 --> 07:33.280] Right now... [07:34.000 --> 07:34.600] Damn. [07:35.360 --> 07:35.860] Sorry. [07:37.120 --> 07:37.540] Okay. [07:38.360 --> 07:42.340] So, another benefit of this is deploying servers rapidly. [07:42.620 --> 07:51.140] So, let's say you have multiple servers, even just for web... just for Apache and stuff. [07:51.460 --> 07:54.840] So, you have multiple Apache servers, but one goes down. [07:55.060 --> 08:15.280] If you're running Linux V server on multiple servers, what you can do is you can just copy one V server to another right away and you can run Apache right there and it just goes up automatically and it won't... it just... you can rapidly deploy these servers. [08:20.460 --> 08:21.180] Okay. [08:21.480 --> 08:25.180] This is also good for development and testing environments. [08:25.180 --> 08:40.660] So, if you're testing... if you're writing an application like a script for Linux or an application, you usually need to test on multiple operating systems or multiple Linux distributions. [08:41.060 --> 08:47.020] Make sure it compiles in Gen2, make sure it compiles in Red Hat, all the other Linux distributions. [08:47.020 --> 08:53.280] With this, you can run multiple VPSs with multiple Linux distributions and... [08:54.760 --> 08:57.300] So, you can test it in multiple environments. [08:57.560 --> 09:00.200] You can also use different kinds of hardware with this. [09:00.880 --> 09:08.460] Almost anything you can run a Linux server on, you can... physical hardware I'm talking about, you can run Linux V server on. [09:11.370 --> 09:12.010] Okay. [09:12.550 --> 09:13.470] So, performance-wise. [09:13.930 --> 09:23.170] As opposed to Microsoft... as opposed to Microsoft Virtual Server or Zen, all of the same... [09:23.170 --> 09:25.050] all the VPSs use the same kernel. [09:25.710 --> 09:30.330] So, it... it increases performance. [09:30.630 --> 09:35.590] So, not everything is using its own thing and everything's being processed differently. [09:35.590 --> 09:40.890] Everything's pretty much filtered through the main kernel which everyone shares. [09:41.310 --> 09:41.970] If that makes sense. [09:43.950 --> 09:45.050] If you have... [09:45.050 --> 09:45.750] Is there... [09:45.750 --> 09:46.490] Sure. [09:46.590 --> 09:54.100] Are you saying each guest OS uses the same host kernels? [09:54.400 --> 09:54.920] Okay. [09:55.160 --> 09:58.480] He asked if each VPS uses the same kernel or each... [09:58.480 --> 10:02.500] Or if each VPS uses the host kernel? [10:02.680 --> 10:03.220] Is that correct? [10:03.720 --> 10:03.980] Okay. [10:04.120 --> 10:05.780] The kernel is on the host. [10:05.780 --> 10:07.860] In the VPS, there's no kernel. [10:08.560 --> 10:09.220] In this method. [10:09.500 --> 10:13.500] So, everything runs off the same kernel which is centralized on the host. [10:14.580 --> 10:16.100] Does that answer your question? [10:16.760 --> 10:19.120] You have... [10:19.120 --> 10:22.500] Each separate distribution you have, they'll all still be running... [10:22.820 --> 10:23.460] They won't be... [10:23.860 --> 10:25.300] When you install... [10:25.300 --> 10:32.640] F4 or the newest version of Debian, that release, they will all have a unique version of the kernel. [10:32.640 --> 10:37.640] They don't each share the same version of the kernel in each distribution. [10:38.040 --> 10:41.120] They're compiled slightly different, maybe different versions, different options. [10:41.920 --> 10:42.360] Right. [10:42.620 --> 10:47.940] In this scenario, as I said, I can run multiple distributions, but everyone uses the same kernel. [10:48.420 --> 10:54.760] When you install Linux V server, part of the installation is patching the host kernel which makes it more general. [10:54.760 --> 11:00.300] And for the most part, everyone's kernel is the same as opposed to minor changes in versions. [11:00.960 --> 11:05.720] So, for example, on my server, everyone running... [11:05.720 --> 11:10.010] Whether they're running Gen2, Debian, Red Hat, they're all using 2.6.14. [11:10.840 --> 11:11.620] Got it. [11:13.580 --> 11:15.820] Any other questions before I start the demonstration? [11:16.240 --> 11:20.500] Is that the same kernel with which you booted initially or is it a separate image? [11:20.640 --> 11:20.880] Yeah. [11:21.520 --> 11:22.980] That's what you booted in as well. [11:23.580 --> 11:26.340] You were mixing matching 32-bit and 64-bit. [11:26.480 --> 11:29.600] Do you have the memory limitation that comes along with 32-bit? [11:29.680 --> 11:30.140] Use the mic. [11:31.580 --> 11:32.380] What do you mean? [11:33.320 --> 11:33.780] Use the mic. [11:33.780 --> 11:34.580] Use the mic. [11:34.720 --> 11:34.800] Here. [11:37.000 --> 11:38.300] Use the mic. [11:38.300 --> 11:39.500] 32-bit. [11:39.660 --> 11:42.980] Got a 2-gig limitation on a 32-bit operating system versus... [11:42.980 --> 11:44.400] On a 2-gig or a 32-gig? [11:44.640 --> 11:45.460] A 32-gig. [11:45.580 --> 11:47.760] A 32-bit machine. [11:48.140 --> 11:50.340] There's a limitation of a 2-gig addressability. [11:51.040 --> 11:52.280] Does it overcome that? [11:53.420 --> 11:53.900] Or... [11:53.900 --> 11:57.460] I'm trying to figure out how you mix and match 32-bit with 64-bit operations. [11:57.980 --> 12:03.100] Well, to be able to run a 64-bit OS, you need to be running on 64-bit hardware, right? [12:03.320 --> 12:03.440] Right. [12:03.540 --> 12:08.220] So, if you're running a 32-bit OS on 64-bit hardware, there's no problem. [12:08.300 --> 12:09.900] It'll just run through. [12:10.140 --> 12:10.960] But are you still... [12:10.960 --> 12:14.500] Do you still have to take into account the 32-bit addressing limitation? [12:14.820 --> 12:16.320] In other words, can you address over... [12:16.320 --> 12:21.880] If you ran a 32-bit virtual machine, can I address over 2 gigabytes of memory at that point? [12:21.940 --> 12:22.100] Right. [12:22.320 --> 12:22.480] Yes. [12:22.660 --> 12:23.800] That's patched in the kernel. [12:27.130 --> 12:27.650] Yeah. [12:28.130 --> 12:47.890] If all of the virtual servers running on the same kernel, then how do you prevent a successful exploit against one of them that involves the kernel from thereby being an exploit against all of them simultaneously? [12:48.610 --> 12:52.230] So, if there's an exploit for the host kernel, you're right. [12:52.570 --> 12:55.550] Every VPS would be affected, I suppose. [12:55.550 --> 13:03.010] If they can gain access to the host, the main server, they can access all of the different ones. [13:04.150 --> 13:04.790] Yeah. [13:07.130 --> 13:08.230] Any other questions? [13:12.460 --> 13:13.100] Okay. [13:13.100 --> 13:17.120] So, one other thing I'd like to address regarding the kernel. [13:17.840 --> 13:28.240] For example, IP tables, which is like a firewall application, you can't run inside a VPS because it needs access directly to some parts of the kernel. [13:28.580 --> 13:38.460] What you would have to do is run it on the host, which is the main server, and put your IP table rules in there. [13:38.800 --> 13:40.380] That's the main issue. [13:42.200 --> 13:42.700] Okay. [13:44.680 --> 13:46.940] So, any other questions I can address? [13:48.720 --> 13:49.220] Okay. [13:49.640 --> 13:54.640] So, I'd also like to talk about asterisk, which seems to be the big hype in a lot of... [13:55.400 --> 13:57.580] There's been a lot of questions about in... [13:57.580 --> 14:02.140] I also use asterisk on a daily basis, so I can answer any questions you have. [14:03.240 --> 14:17.000] Asterisk is the open source PBX, so if you've ever used like Novell or Cisco's call manager, Novell, I forget what they call it, or Nortel it is. [14:17.720 --> 14:40.000] If you've ever used their PBX, it's all proprietary, and it's hard to script things, and it's hard to add new extensions, and the firmware on their IP phones are all proprietary, and asterisk is all open source, and you can do everything you can do in a Cisco or Nortel PBX's, [14:40.340 --> 14:42.320] and customize it more. [14:42.900 --> 14:47.080] So, I guess I'll just demo that if you'd like. [14:47.080 --> 14:51.720] And so, and I have asterisk running perfect... [14:52.700 --> 14:56.140] Running in a VPS, so let me... [14:56.780 --> 14:57.220] One second. [14:59.480 --> 15:01.400] Watch out for people hijacking. [15:01.840 --> 15:02.200] Yeah. [15:05.440 --> 15:06.920] They don't know the IP. [15:08.060 --> 15:08.480] Yeah. [15:12.320 --> 15:13.020] One second. [15:23.900 --> 15:24.740] Okay. [15:27.440 --> 15:30.680] So, are you going to talk about performance when you show off asterisk? [15:32.180 --> 15:33.320] Performance in what sense? [15:34.080 --> 15:34.460] Okay. [15:35.040 --> 15:38.120] So, let's say that I have a patch sheet. [15:38.380 --> 15:42.660] I probably should use the mic, shouldn't I, so I'm not being a jerk. [15:43.020 --> 15:43.220] Yeah. [15:43.380 --> 15:43.540] Yeah. [15:45.940 --> 15:46.340] Okay. [15:46.520 --> 15:49.780] Yeah, I'm like not going to be a jerk and not use the mic. [15:50.140 --> 15:58.000] So, suppose that I want to use your approach of isolating my applications, which I do think is actually a good one. [15:58.120 --> 16:06.780] I don't want my SQL server to get owned if there's, you know, a bug in some, you know, CGI application I'm running under Apache. [16:07.080 --> 16:10.780] My concern is Apache is really slow. [16:11.020 --> 16:13.080] It's way slower than IIS anyway. [16:13.280 --> 16:18.560] And if I run it underneath this VPS technology, is it going to be even more slow? [16:18.760 --> 16:24.920] Or is it going to run roughly as quickly as if I weren't running that application within a VPS? [16:25.940 --> 16:27.740] It will be as slow as your hardware. [16:28.160 --> 16:31.620] So, if the main issue would be memory probably? [16:32.500 --> 16:37.480] So, actually, if my concern is more comparative, right? [16:37.800 --> 16:58.880] So, if I were running, say, IIS and SQL on one machine, both in the context of running them in separate VPSs, versus running them both on the same machine without any VPSs, will the overall performance using the VPS approach be slower than, faster than, [16:58.920 --> 17:03.620] or the same as if I were to stack both applications in the same instance of the OS? [17:04.240 --> 17:04.760] Okay. [17:05.320 --> 17:12.240] So, it will generally be exactly the same, assuming you have the available resources on the host or the main server. [17:12.480 --> 17:16.620] So, as far as Microsoft SQL Server... [17:17.540 --> 17:18.220] Well, no. [17:18.220 --> 17:26.000] I'm not using Microsoft SQL Server as an example, because I wouldn't be running IIS and Microsoft SQL Server under Linux, obviously. [17:26.280 --> 17:38.420] But, if I'm trying to make the business case for using Apache and, say, MySQL versus IIS and Microsoft SQL, performance is going to be a pretty big consideration there, right? [17:38.600 --> 17:43.940] So, this technology gives me more security, but it doesn't cost me in terms of performance, right? [17:43.940 --> 17:44.060] Right. [17:44.060 --> 17:44.480] Right. [17:44.680 --> 17:45.840] It doesn't cost you in performance. [17:46.300 --> 17:47.440] Can I chime in on that? [17:48.040 --> 17:53.120] The Linux operating system works more like terminal services and everything is time sliced. [17:53.440 --> 17:59.420] So, every single piece gets a piece of the processor in a row. [17:59.800 --> 18:02.180] So, it just continues to go, go, go, go, go, go, right? [18:02.320 --> 18:02.480] Right. [18:03.040 --> 18:03.560] Where... [18:03.560 --> 18:14.860] So, it's more like running terminal services, as in Apache gets a piece of the operating system, then something else gets a piece of the operating system, you know, or the kernel. [18:15.440 --> 18:18.960] And it just keeps, or processor, it keeps slicing back and forth. [18:19.060 --> 18:20.960] That's true for any process in . [18:22.660 --> 18:25.280] I mean, whether it is Windows or Linux, it's the same. [18:26.060 --> 18:26.360] So, . [18:30.360 --> 18:30.800] Right. [18:32.160 --> 18:35.140] Yeah, this brings up another couple questions I have now. [18:35.320 --> 18:35.420] Sure. [18:35.420 --> 18:37.420] One is regarding... [18:38.080 --> 18:43.120] Basically, it all regards resources that all of these operating systems are trying to share. [18:44.120 --> 18:59.660] One of them would be, I guess, things like cache thrashing, optimizations for hard drive reads, mainly having to do with caching and continuous versus scattered reading of data. [18:59.660 --> 19:12.160] Having everything running under its own VPN, would that mean that each thing getting its own time slice would be switching up things and reducing performance? [19:12.600 --> 19:26.220] My other question would be, regarding things like IP connectivity, would each of these virtual servers have its own IP address, and would they talk to each other through the host somehow? [19:26.220 --> 19:26.320] No. [19:26.980 --> 19:27.440] All right. [19:28.340 --> 19:28.740] So... [19:28.740 --> 19:30.460] I'll address... [19:30.460 --> 19:32.800] I'm not exactly sure what you mean on the first question. [19:33.140 --> 19:34.220] As far as the... [19:36.660 --> 19:37.340] Done. [19:37.920 --> 19:38.020] Okay. [19:38.640 --> 19:39.500] As far as your... [19:40.660 --> 19:41.340] Okay. [19:42.540 --> 19:43.960] Isolation, basically. [19:44.440 --> 19:46.080] I mean, that would be... [19:46.080 --> 19:46.640] Okay. [19:50.860 --> 19:51.540] Okay. [19:53.620 --> 19:56.200] So, for IPs, you have to be able to... [19:56.200 --> 20:01.420] Each V server or virtual private server has to have its own IP. [20:01.680 --> 20:05.620] Whether it's external or internal, it doesn't matter. [20:05.880 --> 20:13.300] And if you give each one an internal IP, yes, they can talk to each other and all the data will go through the host and save you bandwidth. [20:14.680 --> 20:15.280] Okay. [20:23.070 --> 20:32.370] So, just build demo with asterisk, which you can run in a VPS environment. [20:32.650 --> 20:33.370] Let me log in. [20:37.110 --> 20:49.870] So, I'm not going to go over the semantics of the syntax for virtual private servers, but what I'm doing is just entering server starting asterisk. [20:50.450 --> 20:51.610] So, what I set up... [20:55.290 --> 20:56.470] Don't usually use putty. [20:56.610 --> 20:56.990] Let me see. [20:58.470 --> 20:59.930] I have a quick question. [21:01.830 --> 21:02.650] Alt enter. [21:07.770 --> 21:07.790] No. [21:21.720 --> 21:23.400] That didn't really help much, did it? [21:37.160 --> 21:37.840] Yes. [21:38.180 --> 21:42.540] I entered the VPS with V server, then the VPS name and enter. [21:43.480 --> 21:49.660] And then I ran the asterisk console to get into it, which would be asterisk minus R. [21:49.660 --> 21:56.660] So, I can demo anything you'd like with asterisk, but, or tell you how to do it, but I'll just... [21:58.540 --> 22:00.760] I have a quick question, if you don't mind. [22:01.100 --> 22:01.200] Sure. [22:01.580 --> 22:02.960] Maybe I'm not understanding this. [22:03.080 --> 22:08.700] I thought that you said that there's absolutely no performance decrease with running virtual private servers. [22:10.120 --> 22:11.220] It's time sliced. [22:11.340 --> 22:11.720] There's not. [22:12.000 --> 22:12.320] There's not. [22:12.320 --> 22:13.480] It's always the same. [22:13.820 --> 22:14.600] It's under one kernel. [22:15.360 --> 22:15.600] Yeah. [22:17.520 --> 22:18.040] Okay. [22:18.040 --> 22:18.540] So, I... [22:18.540 --> 22:20.160] It's putting it up in different contexts. [22:20.500 --> 22:20.820] Okay. [22:21.020 --> 22:21.560] So, if I... [22:21.560 --> 22:24.740] If you have, say, a server and I... [22:24.740 --> 22:27.140] It's serving dynamic web pages. [22:27.300 --> 22:27.880] I'm running a database. [22:28.260 --> 22:29.920] You know, web server, whatever it is. [22:30.040 --> 22:30.240] Okay. [22:30.460 --> 22:34.200] And I can serve up X amount of pages on that hardware. [22:34.540 --> 22:41.820] I can then run any number of virtual servers on that same hardware and serve up that same amount of web pages. [22:41.820 --> 22:44.100] There would be no loss with... [22:44.100 --> 22:46.910] There's no overhead for running any of the GPS's? [22:47.920 --> 22:48.380] There's... [22:48.380 --> 22:49.500] Yes, there's a small overhead. [22:49.820 --> 22:50.180] Very small. [22:50.380 --> 22:50.860] The input... [22:50.860 --> 22:54.600] I mean, you're inputting and outputting much more than if you just had one server. [22:54.980 --> 22:55.020] Right? [22:55.240 --> 22:55.360] Okay. [22:55.600 --> 22:57.540] It's like running many servers on one server. [22:57.700 --> 22:59.240] So, yes, there's a small overhead. [22:59.460 --> 22:59.820] I... [22:59.820 --> 23:00.120] Okay. [23:00.280 --> 23:00.620] I just... [23:00.620 --> 23:01.060] It's... [23:01.060 --> 23:02.540] I thought you said that there's none. [23:03.680 --> 23:04.140] It's... [23:04.140 --> 23:04.640] Almost none. [23:04.940 --> 23:05.400] That's... [23:05.400 --> 23:05.480] Okay. [23:06.040 --> 23:06.660] Virtually none. [23:06.660 --> 23:07.780] He said none. [23:08.140 --> 23:08.220] Yeah. [23:08.580 --> 23:08.700] Okay. [23:08.980 --> 23:09.260] Thank you. [23:12.020 --> 23:32.300] So, just to show a quick demo, what I did for HOPE was I bought a DID or a direct inward dial to come into Asterisk and just going to show how that can work and how you can route calls whatever through Asterisk, have an inbound to go outbound and if you have questions about Asterisk, [23:32.340 --> 23:33.760] I'd love to answer them. [23:33.760 --> 23:34.360] Okay. [23:34.360 --> 23:37.360] Is there an option in context when you crank the process up? [23:37.360 --> 23:38.080] Oh, sorry. [23:42.610 --> 23:43.310] Change that. [23:44.110 --> 23:44.370] Yeah. [23:46.650 --> 23:47.210] Okay. [23:47.810 --> 23:49.290] No, that would be... [23:49.290 --> 23:50.050] Okay. [23:57.500 --> 23:58.060] Yeah. [23:59.700 --> 24:00.020] Okay. [24:02.440 --> 24:02.620] Okay. [24:02.620 --> 24:03.180] 20 point work. [24:03.800 --> 24:04.160] Okay. [24:04.280 --> 24:04.780] Oh, yeah. [24:05.560 --> 24:05.640] Yeah. [24:06.380 --> 24:06.940] Okay. [24:07.320 --> 24:08.640] So, just a quick demo. [24:08.920 --> 24:11.640] What I did was I went out and bought a 1-800 DID. [24:11.640 --> 24:17.500] So, for example, an application for Asterisk would be you don't want to give out your real cell phone number. [24:17.800 --> 24:18.800] So, you're coming... [24:18.800 --> 24:19.880] What's that 800 number? [24:20.060 --> 24:21.640] Or does it take calls from payphones? [24:23.840 --> 24:24.320] Okay. [24:24.700 --> 24:29.600] Well, the provider I use, I can choose if I want it to accept calls from payphones. [24:29.600 --> 24:30.760] And yes, there is a... [24:30.760 --> 24:31.980] Like any... [24:31.980 --> 24:35.780] Like any 800, there's a surcharge for calling 800s. [24:39.040 --> 24:42.540] It would show the SIP servers I'm registered to. [24:42.900 --> 24:44.900] But I'm not registered to SIP. [24:45.560 --> 24:46.020] So, I don't... [24:46.020 --> 24:46.280] Okay. [24:47.020 --> 25:02.520] So, I'm calling my 1-800 DID, for example, I could give this out to anyone here so I don't have to give them my real cell phone number and through this they can call me and they can dial an extension once it picks up and dial my cell phone. [25:02.700 --> 25:05.720] So, I don't have to give them my cell phone number but they can still reach me. [25:07.000 --> 25:07.280] So... [25:10.680 --> 25:12.560] And here you'll just see the activity. [25:12.800 --> 25:15.400] It won't make much sense and it will go really fast but here we go. [25:16.420 --> 25:16.860] So... [25:19.540 --> 25:23.960] So, I'm going to press 9 to call my cell phone, which is my cell phone. [25:24.580 --> 25:25.420] So, yes. [25:26.020 --> 25:28.620] And you can see my cell phone here if you really want to find it. [25:29.740 --> 25:30.180] Owned. [25:30.180 --> 25:30.220] Yeah. [25:30.460 --> 25:30.800] Owned. [25:33.820 --> 25:34.260] Okay. [25:34.740 --> 25:35.180] So... [25:36.880 --> 25:41.740] So now it's doing hold music while it calls my cell phone, which I only have one. [25:42.540 --> 25:42.980] So... [25:42.980 --> 25:43.680] Can't see it. [25:43.780 --> 25:44.960] But it's calling me. [25:45.560 --> 25:46.000] So... [25:46.000 --> 25:46.980] If I pick up I can... [25:48.220 --> 25:49.100] Have a... [25:53.040 --> 25:53.680] I did. [25:54.300 --> 25:54.940] Hi, Mark. [25:56.540 --> 25:56.980] Okay. [25:58.860 --> 25:59.300] So... [25:59.300 --> 26:01.380] It's just a cool application for asterisk. [26:02.300 --> 26:15.100] Through this I could also dial in and call out so I don't have to use a pay phone or a calling card and I don't have to use five cents a minute calling card and I can dial out through asterisk in for like two cents a minute. [26:16.080 --> 26:16.540] So... [26:16.540 --> 26:17.840] It's cheaper too. [26:19.380 --> 26:19.900] And... [26:20.480 --> 26:22.240] Any general questions or anything? [26:22.960 --> 26:28.400] What's the advantage running that for virtual servers or EPS as opposed to just directly on my server? [26:28.400 --> 26:29.000] Okay. [26:29.280 --> 26:29.460] So... [26:29.460 --> 26:30.500] So if I'm only running... [26:30.500 --> 26:32.120] As I said, security. [26:32.340 --> 26:32.920] So isolation. [26:34.840 --> 26:35.400] GSM. [26:39.340 --> 26:39.900] So... [26:41.900 --> 26:42.460] Okay. [26:43.080 --> 26:44.600] So the benefit of running... [26:44.600 --> 26:49.780] Running asterisk on a virtual private server is security. [26:49.940 --> 26:50.780] I can isolate it. [26:50.780 --> 27:01.520] So if there's a hole, it won't get to my SQL server and if someone hacks asterisk, you can call it, it won't compromise my databases. [27:02.320 --> 27:13.080] Also, I can have multiple VPSs running on one physical server so I can have multiple servers, multiple asterisk servers running on the same physical server. [27:13.500 --> 27:19.180] With different settings, compiled with different directories for the configurations, etc. [27:19.960 --> 27:23.460] Because asterisk, for the full benefits, it has to run as root. [27:23.820 --> 27:25.760] So there's multiple root environments. [27:27.120 --> 27:27.520] Okay. [27:27.520 --> 27:28.340] I've got a question for you. [27:28.540 --> 27:28.720] Sure. [27:28.900 --> 27:31.920] So you've got that forwarding to your cell phone so you don't have to give it the number. [27:32.320 --> 27:32.440] Right. [27:32.440 --> 27:39.540] So for instance, could I put a list of numbers in asterisk and say these people automatically go to my cell phone? [27:39.540 --> 27:43.160] And if it's not in that list, then it says the number's not in service or something? [27:43.500 --> 27:43.720] Yeah. [27:43.900 --> 27:44.840] You could write... [27:44.840 --> 27:48.580] Using the syntax for asterisk, you could do that. [27:49.300 --> 27:58.900] You could have it check color ID and if it's in this database or if it's in this array or list of color IDs, then go to your cell phone. [27:59.040 --> 28:04.360] If not, say, press one to leave a message or two to hang up. [28:04.620 --> 28:07.920] And so you can also do color ID spoofing, I think, with asterisk, right? [28:07.920 --> 28:08.400] Right. [28:08.560 --> 28:09.480] Depending on the... [28:10.540 --> 28:11.020] No? [28:16.270 --> 28:22.010] Depending on the termination or outgoing to the public switch telephone network provider you use, you can. [28:22.910 --> 28:23.390] So... [28:23.390 --> 28:25.290] So that depends on the did that you have, then, I guess? [28:25.690 --> 28:26.050] The what? [28:26.310 --> 28:26.690] The did? [28:26.810 --> 28:27.150] The DID? [28:27.450 --> 28:27.850] The DID? [28:27.850 --> 28:29.530] The DID is the direct inward dial. [28:29.690 --> 28:31.470] So that's coming into your server. [28:31.830 --> 28:34.790] What depends on color ID spoofing is what you send out. [28:35.810 --> 28:48.790] The DID would be originating to the server and calling out and spoofing your CID would be terminating to the public switch telephone network or an IP phone or anything. [28:50.410 --> 28:51.290] Excuse me? [28:51.830 --> 28:57.010] Is there a website that you could direct us to setting up VPS? [28:58.470 --> 28:58.970] Sure. [28:59.290 --> 28:59.790] So... [28:59.790 --> 29:01.950] The application I use is Linux V server. [29:03.990 --> 29:04.490] To... [29:04.860 --> 29:05.110] There's... [29:05.110 --> 29:05.990] They have a website. [29:07.290 --> 29:09.290] Linux dash V server dot org. [29:09.450 --> 29:12.310] Let me see if I can... [29:12.870 --> 29:15.290] So you can go to Linux dash V server dot org. [29:15.430 --> 29:18.370] And they have a generic how to on how to set up this. [29:18.370 --> 29:22.610] The basic steps are you download the current... [29:22.610 --> 29:26.650] You patch your kernel on your Linux operating system. [29:26.950 --> 29:31.890] And then you install the tools to like the binary files for the... [29:33.870 --> 29:35.110] For the commands. [29:35.490 --> 29:39.230] So you can enter a VPS, create a VPS, all those. [29:39.510 --> 29:42.730] So Linux dash V server dot org is their main website. [29:42.970 --> 29:46.970] And they have a how to for almost any operating system. [29:46.970 --> 29:49.170] Or you can just look at their generic one. [29:50.010 --> 29:51.510] And it will be pretty much the same for anything. [29:52.030 --> 29:53.610] Didn't Telephreak do one too? [29:54.150 --> 29:54.710] Didn't they put out more? [29:56.550 --> 29:57.190] Yeah. [29:57.370 --> 30:04.270] Telephreak wrote an article specifically about running and patching VPS to run asterisk. [30:06.610 --> 30:07.250] So... [30:07.250 --> 30:07.350] Yes. [30:08.030 --> 30:09.190] And they also wrote it. [30:09.350 --> 30:16.230] Beave and John wrote it about making VPS's specifically pertaining to asterisk. [30:18.690 --> 30:19.330] Okay. [30:20.530 --> 30:21.690] General questions? [30:22.050 --> 30:22.690] Okay. [30:23.790 --> 30:24.370] Well, thanks. [30:24.910 --> 30:25.290] And... [30:26.290 --> 30:27.110] Let's see. [30:29.610 --> 30:30.610] Kind of short. [30:30.830 --> 30:36.130] But if I can help you with anything or answer specific questions, I'd be happy to. [30:37.230 --> 30:37.810] Okay. [30:37.930 --> 30:38.230] Thank you. [30:39.170 --> 30:39.730] Sure. [30:40.210 --> 30:41.030] Thank you.