Initial commit: HPR Knowledge Base MCP Server
- MCP server with stdio transport for local use - Search episodes, transcripts, hosts, and series - 4,511 episodes with metadata and transcripts - Data loader with in-memory JSON storage 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
867
hpr_transcripts/hpr0793.txt
Normal file
867
hpr_transcripts/hpr0793.txt
Normal file
@@ -0,0 +1,867 @@
|
||||
Episode: 793
|
||||
Title: HPR0793: Server/Client relationship, DHCP server
|
||||
Source: https://hub.hackerpublicradio.org/ccdn.php?filename=/eps/hpr0793/hpr0793.mp3
|
||||
Transcribed: 2025-10-08 02:40:41
|
||||
|
||||
---
|
||||
|
||||
This is Hacker Public Radio, my name is Klaatu, and this is the Networking Basics mini-series
|
||||
part 6.
|
||||
You were probably thinking what Networking Basics mini-series, well, if you look back
|
||||
about 400 episodes or so ago, there was a Networking Basics part 5, and that was an
|
||||
episode that I was talking about, particularly the Internet Protocol IP, as detailed
|
||||
in RFC791, talked a little bit about the Protocol, Fort Assignments, and stuff like that.
|
||||
And that was a follow-up on four previous parts of that series in which we spoke about
|
||||
all manners of Networking Protocols, Networking Conventions, the way that packets are constructed
|
||||
and various things like that.
|
||||
So if you haven't heard that in any of those episodes in that series yet, and you need
|
||||
a primer on Networking Theory, Basic Networking Theory, then that might be something that you
|
||||
want to look at, or better yet, listen to.
|
||||
So in this series, we're going to talk about, or in this episode, and for the next couple
|
||||
of episodes, we're going to talk about setting up a server.
|
||||
And I'll tell you why that was a completely vague statement in a moment, but I'm going
|
||||
to first give you a little bit of a preamble as to why I think it's important to talk
|
||||
about setting up servers.
|
||||
And this is not something that has not been covered, if you pardon the double negative,
|
||||
before.
|
||||
Right?
|
||||
How to set up a server?
|
||||
That's a topic that other podcasts have covered.
|
||||
The one that comes to my mind most immediately is Linux Basement, Chad Wallenberg, the
|
||||
fine Chad Wallenberg, spoke about setting up a server for the entire season of like,
|
||||
I think it was his season two or three.
|
||||
So that was a really great series, and he was doing it on Ubuntu, and it was working
|
||||
really well for him, and the series was really good.
|
||||
Now, I don't know about you, but me.
|
||||
I wasn't even anywhere near setting up a server at that time when he was doing that.
|
||||
So I listened and I learned, but not as much as I probably could have if I'd been a little
|
||||
bit farther along.
|
||||
Of course, I could go back and listen to it now.
|
||||
But then again, it never really hurts to hear this sort of thing more than once in different
|
||||
kinds of delivery styles.
|
||||
So I encourage you to go back and listen to other podcasts that have covered this topic.
|
||||
And I'm going to be covering it.
|
||||
I'm going to try to keep it as generic as possible, but when it comes down to it, my experience
|
||||
has been on Fedora and Red Hat in terms of the server stuff.
|
||||
And that's just where I've gotten the experience.
|
||||
So I'll be covering it from that angle, and I'll be covering it in a way that helped
|
||||
me understand it.
|
||||
And if you're learning styles similar to mine, maybe you'll find this one, this particular
|
||||
take on the topic informative.
|
||||
Servers are so ubiquitous at this point that if you're a geek, you really owe it to yourself
|
||||
and to the people around you who rely on your geekiness for their everyday lives and
|
||||
support to really understand how servers work.
|
||||
If you've never set one up, then you're really just dealing with a bunch of theory.
|
||||
And you're almost in a way, you're kind of dealing with a black box because you've never
|
||||
been inside there.
|
||||
You've never set it up.
|
||||
You've never seen the causes for failure, the causes for confusion.
|
||||
You don't really understand what's going on on the inside.
|
||||
So getting experience with a server, while it isn't necessarily a must-have, it really
|
||||
does help, especially if you go around talking about computers all the time because people
|
||||
are inevitably going to ask you where their internet's went, and if you don't even understand
|
||||
how the internet's on to someone's computer from the magical cloud outside, then you're
|
||||
not going to be all that much help, aside from calling Comcast and asking for support
|
||||
and at least knowing how to find the network manager when they tell you to open up the network
|
||||
manager or whatever.
|
||||
So that's why you should know about servers.
|
||||
This many series hopes to understand servers a little bit better, and in order to do that,
|
||||
I think that we need to introduce the server client concept because after a while you
|
||||
start to take this for granted, but you have to understand how few people actually understand
|
||||
this.
|
||||
So the term, quote unquote, server, it's a very accurate term actually.
|
||||
It's really, it's really well said server.
|
||||
That makes a lot of sense, but unfortunately it gets confused a lot because a lot of different
|
||||
things come to mind when we hear that word.
|
||||
So we think of these big scary data centers, these big loud jet engine loud for unit
|
||||
rack computers without any screens.
|
||||
That's what we think of when we say, oh, that's a server.
|
||||
And when people say, oh, I work with servers and I'm going to do a set up a server now.
|
||||
That's what we think of.
|
||||
We think of these mysterious machines without any screen.
|
||||
You don't even know how to get in there.
|
||||
They don't even have a keyboard hooked up to them.
|
||||
What's going on?
|
||||
Well, this can all be very, very simplified.
|
||||
A server is any computer.
|
||||
It can be a laptop.
|
||||
It can be a little, a little electric board with a little process on it, you know, no
|
||||
side, no larger than the size of a gum stick, you know, I mean, these, it can be a desktop
|
||||
computer.
|
||||
It can be a four rack unit beast of a computer, it's a computer from which you or someone
|
||||
gets information.
|
||||
Even more specifically, we could say a service, but what is a service?
|
||||
So if you're getting information from a computer that you're not sitting in front of, you're
|
||||
connecting to a different computer to get that information off of it and delivered onto
|
||||
your screen, then that is that computer that you're connecting to as a server.
|
||||
So what kind of computer are you there for running?
|
||||
Well, you're running a client.
|
||||
So the two terms here are server and client and then local and remote.
|
||||
That's another thing that you hear oftentimes.
|
||||
So the server is the remote computer that you are accessing and requesting information
|
||||
from the local computers on that you're sitting at, typing on, and it's the client's
|
||||
computer because it's requesting information.
|
||||
Now very, very interestingly, a client's computer could also be a server to someone else.
|
||||
So just because you're on a, quote, unquote, client machine doesn't mean you're not serving
|
||||
someone else something.
|
||||
So in fact, if you followed along with my HPR episode a long time ago on SSH and X forwarding
|
||||
I think and DNS, dynamic DNS stuff like that, if you followed along with that episode
|
||||
and learned how to SSH into a computer from that episode, then guess what, you have already
|
||||
set up a server amazingly enough, yes, you have.
|
||||
The minute you started the SSH D, well, the SSH Damon, the SSH D service, that computer
|
||||
became an SSH server.
|
||||
And when you went out to the cafe or you went to work and an SSH back home, then you were
|
||||
using an SSH client.
|
||||
So you see, you're not really as new to this as you might have thought.
|
||||
And that's, I think, one of the confusing things about servers, we often think that a server
|
||||
has to be one certain thing, doing a certain task.
|
||||
And in reality, there's all kinds of different servers.
|
||||
Now, sure, they may all be existing on the same computer, the same box, or it could be
|
||||
a whole bunch of boxes around the data center or your apartment or your workplace, whatever.
|
||||
Yeah, a server can serve many, many different things.
|
||||
You've probably heard of DHCP servers.
|
||||
You've probably heard of DNS servers, web servers.
|
||||
Obviously, like I said, SSH servers, music playing servers, you know, like a music playing
|
||||
Damon in PD, it could be serving streaming media.
|
||||
It could be doing all of these things and more.
|
||||
Go for sites, even, FTP, there's just so much out there that you can serve.
|
||||
You can connect to these computers and access the different processes and kind of the different.
|
||||
I don't really know if it's an application per se, but it's like an sort of infrastructure
|
||||
that it provides you.
|
||||
Okay, so what you need to get started setting up your own server, well, like I say, if you've
|
||||
already set up an SSH capable machine, then actually you've already set up a server.
|
||||
And the idea is pretty much the same.
|
||||
If you're going to play around with setting up a server, all you need is like, well, really
|
||||
two computers, maybe three, sometimes three would be better.
|
||||
But at least two, one is going to be the server computer and one is going to be the client
|
||||
or two could be the clients because it's kind of cool.
|
||||
If you have three, then you can see how the client talks to the server and then you can
|
||||
also see how the client talks to the other client because that's always interesting to see
|
||||
as well.
|
||||
In theory, I imagine you could do a lot of this with a number of virtual machines, like
|
||||
if you've got a really nice beefy computer, lots of power behind it, you could just install
|
||||
like, I don't know, KVM and libvert or virtual box or whatever.
|
||||
And then just virtualize, you know, establish basically two or three virtual machines and
|
||||
they could be pretty lightweight virtual machines too.
|
||||
I mean, really, you could just install like a bare minimum install of like Fedora or Debian
|
||||
or Slackware or whatever.
|
||||
No X isn't really required actually in any of the cases.
|
||||
And then you could, that virtual environment will have its own little subnetwork inside
|
||||
of your bigger computer so you could make that sort of your virtualized test ground.
|
||||
Personally, I mean, first of all, and I don't know, I haven't done enough virtualization
|
||||
to really know how many network cards you can just create.
|
||||
I mean, I imagine you can do that pretty easily within most of the virtual machine clients,
|
||||
but I haven't really done it.
|
||||
And personally, I don't know if I would do it that way simply because I think, I know
|
||||
myself, I think I would get confused as to which virtual machine was which and all that
|
||||
sort of thing.
|
||||
And I don't think, I do a lot better sometimes with hardware, you know, if I'm pulling
|
||||
a cable out of a box, then I know I've just pulled that cable out of the box.
|
||||
If I'm just typing in some numbers and resetting things in a virtual machine, I don't think
|
||||
it would impact me quite the same way, but maybe you're different.
|
||||
So if you just absolutely don't have a lot of hardware, but you have one that you think
|
||||
would be capable of a lot of virtual hardwares, then hey, go for it.
|
||||
The required specs for a server vary depending on what kind of server you're intending to set
|
||||
up, and also what you're expected usage is.
|
||||
So if all you want to set up, for instance, is like a simple music streaming server so
|
||||
that you can play music around your apartment remotely and just have that box kind of managing
|
||||
all your music all day, then you could do that.
|
||||
And you could use that maybe as an IRSSI machine, a little server for a screen session with
|
||||
IRSSI in it so you can always be logged into IRC, that sort of thing.
|
||||
I mentioned this as an example because that's what I do.
|
||||
I've got a little Apple G4, it's like 400 megahertz, and it has like half a gig of RAM
|
||||
in it, and it does that sort of thing perfectly well.
|
||||
It serves me files, it serves me music, and serves screen inside of which I am running
|
||||
IRSSI so that I can be always connected to IRC, and then I can SSH into that box when
|
||||
I'm out at a cafe or something, I can reattach to screen and talk to people online as if
|
||||
though I was sitting right there in the room.
|
||||
So that's a pretty simple server.
|
||||
Simple to set up, you don't really need anything special for that.
|
||||
Now the minute you start trying to get three, four, and five, and 20 people onto a box
|
||||
sharing complex services, you may or may not need something a little bit more powerful.
|
||||
Once again, I've actually used like a G4, I think it was a little bit faster, it was
|
||||
like one gig of Hertz maybe, but it's a little file sharing server, a Samba file share in
|
||||
a classroom at my job, and it does great, and there's about 16 people using it concurrently,
|
||||
and it does fine, and it's just that little local file server.
|
||||
On the other hand, put that G4, same G4 specs in a room where three people are going to
|
||||
use it, running a web server and Drupal and CVCRM, and all these other things that you
|
||||
can kind of build on top of Apache and stuff, suddenly the thing just slows to a crawl.
|
||||
So you really kind of have to know who is using the server and what they need it for,
|
||||
and you have to somehow magically have an idea, some notion of what exactly kind of demand
|
||||
that is going to put on your computer on the server.
|
||||
And I don't know of any way to really know what that is without just trying it, just setting
|
||||
it up, having people use it, and when they start complaining that the thing is horrible
|
||||
and slow, then you know it was a bad idea to try that particular old box and you need
|
||||
to upgrade.
|
||||
So yeah, it really depends, you can go any way there, and like I say, there's a lot of
|
||||
different kinds of servers, and you can have one box that runs lots of different services.
|
||||
So if you know that you need a gateway machine that is going to serve DHCP and DNS information
|
||||
and maybe some file sharing, you know, it's going to, you're going to want a fairly powerful
|
||||
box then.
|
||||
Okay, so enough about what a server is, I think people have all got an idea.
|
||||
So in this episode we're going to set up a gateway machine, and a gateway machine is
|
||||
not a brand of computer, it is a computer that brings the internet into itself, it ingests
|
||||
the internet, and then it distributes that internet signal back out to its clients.
|
||||
It sounds an awful like a router, doesn't it?
|
||||
Well, interestingly enough, that's basically what we're setting up, so we'll do that first
|
||||
and the way to do that initially would be to, like I say, find a box.
|
||||
This box needs to have two network cards.
|
||||
That is not to say that every server that you're going to build will have to have two network
|
||||
cards.
|
||||
It's just that if you want a server to sit between your clients and the worldwide web,
|
||||
you do need two network cards because what we're going to do is assign an IP address to
|
||||
one network card for the server to have, and then we're going to send out other addresses
|
||||
of that other network card, so you need two physical network cards for this particular
|
||||
setup.
|
||||
But hey, if you're not interested or if you don't have the hardware to make a gateway
|
||||
machine, no worries, we can still do cool things with that spare box that you have lying
|
||||
around, but you'll just have to skip the gateway part, but that's fine.
|
||||
So assuming that you do or assuming that you're interested in how it is done, you would
|
||||
want to first install Linux on that machine.
|
||||
That's kind of a no-brainer.
|
||||
You could do BSD as well.
|
||||
It's just whatever.
|
||||
Some free distribution of a Unix or Unix alike operating system is a really good idea.
|
||||
Just because it's a server does not mean it must not have a graphical environment.
|
||||
If you feel like a graphical environment might be a nice fallback for you if you're not
|
||||
used to a bunch of terminal work, then go for it.
|
||||
Lots of people, more people than I kind of had imagined before I got a job sort of doing
|
||||
server kinds of stuff, more people than I realized actually do run the graphical environment.
|
||||
Even if it's not something that they have a monitor attached to their server for, they
|
||||
still have the X-11 environment set up so that they can then do X forwarding into that
|
||||
box.
|
||||
If that makes you feel better or if it's just a good fallback kind of things, because
|
||||
you're not sure if you're going to be able to get through all the terminal stuff, then
|
||||
that's fine.
|
||||
You can do that.
|
||||
It doesn't really matter.
|
||||
But at the same time, it could be a really, really lightweight install.
|
||||
It doesn't have to be anything fancy, so don't feel like you have to install the full
|
||||
GNOME desktop or anything like that.
|
||||
It could be really lightweight.
|
||||
And remember that running a desktop, even though you're not seeing it, it is using up system
|
||||
resources, so keep that in mind if you're trying to maximize the power of your server.
|
||||
Another thing that people tend to, like if you're looking at Linux distributions and trying
|
||||
to figure out which one should I go with, I would say off the top, my head go with the
|
||||
one that you know, but if you don't want to do that, then if this is a server that you
|
||||
intend and it might not be right now.
|
||||
But in the future, when you're looking at actually setting up a server that is going
|
||||
to hopefully have staying power, then you want to keep in mind that the long-term support
|
||||
stuff actually starts to matter when you're dealing with servers.
|
||||
On your desktop, you might update and upgrade your distribution to the latest six month
|
||||
release cycle every, well, six months, or possibly even earlier than that if you just
|
||||
love to run alphas and betas.
|
||||
But on the server, you don't want to go through that trouble, believe me.
|
||||
There's too much stuff that you're configuring on the system level to make it really super
|
||||
simple to just back up and reinstall.
|
||||
I mean, obviously you can, but I mean, it's a little bit more complex than just dragging
|
||||
your slash home directory, a slash home slash your username directory over to our drive
|
||||
and then dragging it back on after you reinstall because there's a whole bunch of config
|
||||
vials and stuff that you're going to be messing around with.
|
||||
So the long-term support thing is good.
|
||||
Of course, the security updates are really important.
|
||||
To that end, Slackware, of course, is a really great thing for a server because it's got
|
||||
like non-stop security updates, I think, since version eight, I mean, they're still updating
|
||||
this stuff for Slackware eight for security.
|
||||
So I mean, that's some serious support there.
|
||||
Red Hat is the other big industry standard one, of course, or it is the industry standard
|
||||
one.
|
||||
It is, happens to be the one that I use, you can get an academic license if you're looking
|
||||
to get into the IT world and get a natural job doing this sort of thing.
|
||||
You feel like you really want to know those checks in the block.
|
||||
You want to be able to say, yes, I know Red Hat, yes, I've used them, yes, I've had
|
||||
to support a contract with them before.
|
||||
You can get an academic license, I'm not sure, I imagine you need to be a student somewhere,
|
||||
but if you go back and listen to my episode on fake IDs, you might be able to come up
|
||||
with a way to make that happen.
|
||||
If you don't want to do the whole supported Red Hat thing where you can actually call them
|
||||
on the phone, well, actually, I think the academic doesn't let you call anyway.
|
||||
You can get web support from Red Hat.
|
||||
But if you don't want to do that and you feel like you can muddle your way through this
|
||||
without spending 60 bucks on the academic license, which is probably true, then you could
|
||||
go, of course, the Sintos route, a scientific Linux as well, I've been using the scientific
|
||||
Linux repository on one of my workstations and it's pretty, pretty good.
|
||||
So you know, you've got those Red Hat clones and then honestly, the Fedora stuff is really
|
||||
good too.
|
||||
I mean, I love Fedora anyway, and I felt a little bit weird about running it on a server
|
||||
and I still feel a little bit weird about running it on the server, but it is kind of
|
||||
nice.
|
||||
There's a certain freedom to Fedora that just, you know, you can install whatever you want.
|
||||
Of course, I know Fedora fairly well, so I feel really, really comfortable with it.
|
||||
It feels just really, very much like home, so that's a pretty good one.
|
||||
And yet, it also feels very much like Red Hat because it basically is, I mean, it's
|
||||
the same stuff.
|
||||
It's the same configuration, tools, same file locations.
|
||||
So Fedora is not a bad idea either.
|
||||
And then Debian, of course, is a great choice because they're huge and stable and well,
|
||||
well supported, so Debian or Ubuntu, you know, I mean, I'm sure that's basically the
|
||||
same.
|
||||
I've never run a new Ubuntu server myself, but Debian, I have run a lot of the PowerPC
|
||||
boxes lying around here at work.
|
||||
They all run Debian and are serving files and web development environments for a different
|
||||
person here and there.
|
||||
So that's not bad.
|
||||
FreeBSD is supposed to be really good as well, although I've never actually run it on
|
||||
a server, so I wouldn't know for sure.
|
||||
Okay.
|
||||
So if you've installed any of those, then you're pretty much good to go.
|
||||
And the great thing about these Linux and Unix distributions that we all seem to love
|
||||
so much is that they're ready.
|
||||
They were designed with the server client model in mind, where I don't even know.
|
||||
Maybe the server client relationship was designed with Unix in mind.
|
||||
I mean, I don't know how it all started, but this is classic computing.
|
||||
This is the way that the forefathers dreamt of it.
|
||||
And by forefathers, yes, I do mean George Washington and all those guys.
|
||||
So setting up a server as an internet gateway, that'll be our first server exercise in this
|
||||
mini-series, and we're going to go ahead and throw in DHCP service as well, because it's
|
||||
very, very much related.
|
||||
So let's assume that you've got a computer with two network cards available.
|
||||
Network cards, I think, are pretty cheap, actually.
|
||||
So if you don't have them available, you could probably find one pretty cheap these days.
|
||||
There's, it doesn't have to be a super fast one if it's just playing around.
|
||||
But otherwise, yeah, there you go, or you could hack some different boxes together.
|
||||
I've done that plenty of times, even with the Macs that I find lying around, you know,
|
||||
pull some memory out of one, and it's a hard drive out of the other, and you just kind
|
||||
of make one better box than the two were separate.
|
||||
So, you know, use your imagination, like I say, worst comes to worst.
|
||||
Yeah, I'm sure you could do this with virtual machines or whatever.
|
||||
So you could do it on a pen and paper and just draw it all out and write it down and
|
||||
just pretend like it's networking.
|
||||
But it would be better to have a computer.
|
||||
So take whatever computer you've got that you're going to make your server.
|
||||
And you should probably put a graphics card in it just temporarily because you need to
|
||||
get onto that machine and configure it and stuff.
|
||||
Of course, you've probably already got that because you've installed Linux onto it.
|
||||
So you had to do that presumably with a graphics card.
|
||||
If not, great.
|
||||
If you can get into the computer without requiring a video card, that's really cool, too.
|
||||
I generally just throw a graphics card in there so that I can see what I'm doing just
|
||||
at least for the initial stage.
|
||||
So you want to turn it on the box, install the distro if you haven't already.
|
||||
And if you see any special options for like a server install, you may or may not want
|
||||
to use them.
|
||||
It doesn't honestly really matter.
|
||||
Like I say, this is all, this is just how Linux works.
|
||||
You don't have to do a special server install.
|
||||
You can just do a normal, minimal install or a normal, normal install.
|
||||
And you can always throw the server components on top of that.
|
||||
And it'll work just the same way as anything else.
|
||||
So don't be confused by distributions that have like a server addition or whatever.
|
||||
It doesn't matter.
|
||||
Okay, so you reboot.
|
||||
And now you're sitting there at your login prompt and I don't know if you have to make
|
||||
a user or not, it just kind of depends on the distribution that you're using.
|
||||
But you may have to make an initial user in which you'll want to do.
|
||||
You don't want to run this route the whole time, although you'll be doing a lot of root
|
||||
activities, but you still don't want to just run this route.
|
||||
You should have a user.
|
||||
So the first thing that you'll want to do is the network configuration of that box.
|
||||
And for this stage, it really does make it easier to be physically in front of that box.
|
||||
Because if we, I mean, you could walk away from the box and SSH in.
|
||||
But then once you start messing around with all the networking stuff, you're probably
|
||||
going to lose your SSH connection and you'll have to like figure out what to connect to
|
||||
again.
|
||||
And it just kind of, it gets annoying.
|
||||
It's not, it's not essential, but it's a lot easier.
|
||||
And sometimes it is essential depending on what's going on, whether you've done everything
|
||||
correct to be physically in front of that computer.
|
||||
So an Internet Gateway is going to be the server that sits between you, your users,
|
||||
and the worldwide web.
|
||||
And the way that that works is that we need to get an IP address from your ISP to one
|
||||
of your network cards.
|
||||
That's the first step.
|
||||
And the way to do that, at least in Red Hat and Fedora, is, and I'll talk about the
|
||||
other ones in a minute as well, is located in slash at C slash sysconfig slash network
|
||||
dash scripts.
|
||||
And in that directory, you'll see a bunch of networking type scripts like if up dash
|
||||
eth0, if config or IFCFG dash eth0, if down dash eth0, same series of things for the
|
||||
loop back device and for the other networking card, which would be eth1.
|
||||
So you'll see these little scripts residing there.
|
||||
In Debian, you have slash network slash interfaces, and that's about all I know about it.
|
||||
I know that I use that to establish a static IP address in some of the boxes that I use.
|
||||
Sometimes I do it outside of that box with just DHCP.
|
||||
So I haven't really used that a whole lot.
|
||||
It's pretty similar also to the slash at C slash rc dot d slash rc dot i net one dot
|
||||
conf or rc dot i net two dot conf in Slackware, where you are simply telling it, okay, I
|
||||
know that I have two network cards.
|
||||
You know that I have two network cards.
|
||||
Here's what to do with each network card.
|
||||
So the concept is the same.
|
||||
It's just the location of that actual file, even the name of the file that you're going
|
||||
to be specifying that information is completely different.
|
||||
And if you've ever hard coded a static IP onto a computer in Linux, by hard coded, I mean
|
||||
editing the actual text file, then this is actually already familiar to you.
|
||||
If you have not done that, then this is going to seem a little bit unfamiliar to you,
|
||||
but it is, if you just open up whatever system you're on, if you open up that text file
|
||||
in typical Linux fashion, it's very well commented.
|
||||
It says, this is where you configure your internet, your ethernet, your network interfaces.
|
||||
And it gives you examples, at least Slackware does.
|
||||
And I'm sure, yeah, W and does too, I remember.
|
||||
So you can just kind of follow along.
|
||||
And the basic idea of what you're telling it is what you're establishing a name for
|
||||
the device, which your system has probably already established for you.
|
||||
So there's probably, it's probably already going to be called something.
|
||||
So you might as well just keep going with that.
|
||||
You're going to assign a IP address and IP address to that network interface.
|
||||
And notice that I'm saying you're assigning it to that network interface, not to that computer,
|
||||
because that would be actually quite incorrect to say.
|
||||
It's the IP address that you're assigning to that network card.
|
||||
So what should that network card have as the IP address?
|
||||
Should it have like 192.168.1.1?
|
||||
No, of course not.
|
||||
We're trying to get the internet into this.
|
||||
We're not assigning it a local address right now.
|
||||
So we're saying that we need to know whatever IP address is being sent to us from our ISP.
|
||||
A classic way to do that, of course, is, well, I guess one way would be to talk to the
|
||||
internet company that you're using, the ISP that you're using.
|
||||
But probably more realistically, they're not going to know.
|
||||
So just go to what's my IP.org.
|
||||
And that of course tells you exactly what IP address you are sending out into the world.
|
||||
That's how you're attached to the internet.
|
||||
And we've seen this before, like I say, if you've followed along with the SSH episode,
|
||||
we used this information to go out to a cafe or whatever and SSH back home.
|
||||
And sometimes we had to do it with noip.com or dynamic dyndns, whatever.
|
||||
So it's the same deal.
|
||||
We just need to know how the internet is getting into this box from the cloud outside
|
||||
down into our house, like a little cable or the DSL cable, whatever, into our house or
|
||||
our building, and then through the wall and then out of the wall, plugged into our computer.
|
||||
That IP address right there, that's what you want to make your servers first ethernet
|
||||
card, that's the address you want to assign it.
|
||||
Potential problem area would be if this address changes frequently in the various places
|
||||
that I've lived in the past very long time, I have not had that issue actually.
|
||||
It just seems like I realize that that's not a static IP and yet I'll go a year I think
|
||||
and it just won't ever change.
|
||||
So it might as well be static.
|
||||
However, I've heard of people who's IP address just changes constantly.
|
||||
It's like they're just always getting a different IP address from their service provider.
|
||||
Or even worse, sometimes there's that whole, what is it, like, PPP over ethernet or something
|
||||
or, well, basically it's when the company doesn't actually give you an IP address, they
|
||||
give you a bridge to get into their network and so you're not getting, you don't actually
|
||||
know your external IP address directly, you're not getting that IP address directly.
|
||||
So in those cases, you can assign the server the IP address that you have right now in
|
||||
this moment.
|
||||
It might change later on.
|
||||
For the exercise, it'll probably work fine for you, but if this is a long term thing,
|
||||
it could be a little bit more complex.
|
||||
It can be done, however, it can absolutely be done.
|
||||
And the way that it would be done is that, well, especially if it's in, if it's like
|
||||
a bridged modem setup where you're actually getting like a 172. something, something,
|
||||
something, something, something, something, something, something, something addressed from
|
||||
your internet company, then that would be the address of this server.
|
||||
And that'll work fine, actually, but it'll be a little bit different in terms of what's
|
||||
actually going on, but heck, as long as it's an internet signal, that'll work.
|
||||
The prefix, let's just call it 24 right now because that's, that's the kind of network
|
||||
we'll set up for now.
|
||||
The gateway is going to be whatever the gateway, again, from your ISP that you are assigned.
|
||||
So in this case, it would be, in my case, if my IP address that I'm getting in from the
|
||||
ISP is 69.122.13.86, then the gateway address is 69.122.13.1, and that's pretty consistent.
|
||||
Again, it's just, that's kind of information that you'll get from your ISP more than,
|
||||
more than anything.
|
||||
And you can usually take a stab at both of those numbers.
|
||||
Like if you do at what's my IP.org and you find out your IP address, then you can just
|
||||
knock that gateway number, the last number on that IP address down to 1, and that's probably
|
||||
your gateway.
|
||||
Your network, your net mask is usually 255.255.255.0, and there are lots of ways to change
|
||||
that as well, but that's what we'll do for now.
|
||||
And then the DNS 1 would be your initial DNS server, so we'll just, for now, we're going
|
||||
to use 208.67.222.222, which is, of course, open DNS, and then the DNS 2 server will use
|
||||
this 208.67.220.220.20.
|
||||
We'll come in and change that in a different episode when we start setting up our own DNS
|
||||
server, but for now, we're going to just leave it as open DNS services.
|
||||
Of course, you could also use your ISP's service if you want.
|
||||
It doesn't really matter to me, but you should obviously assign a DNS to this.
|
||||
If there's an option for peer DNS, you should turn that off, and you can set your domain
|
||||
name here of the network card, and I like to set this myself personally to somedomain.local,
|
||||
because then my little intranet, if I decide to set one up, can all have something, something
|
||||
about local addresses, and I just kind of, I don't know, that just makes sense to me.
|
||||
Logically, that makes sense to me.
|
||||
There are probably places that don't want to do it that way for very good reasons, like
|
||||
their intranet and their actual domain are maybe the same or something like that.
|
||||
It's not something that is necessary, but you certainly can make your little local network
|
||||
can have the domain of some domain name.local, so for me, it's slackermedia.local.
|
||||
You want to do the hardware address, so that's the MAC address of the network card, of
|
||||
the network interface.
|
||||
That's really important, because that's how the computer really knows which network card
|
||||
it is.
|
||||
You can call it whatever you like.
|
||||
You want to make sure that you're actually speaking to the correct network card and everything.
|
||||
If you don't know the MAC address, then just do an if, config, and find out the hardware
|
||||
address of that card and enter it into the configuration.
|
||||
There are typically other options available, like in Red Hat, you've got things like IPv4,
|
||||
underscore failure, underscore fatal.
|
||||
I set that to yes, IPv6 in it.
|
||||
I set that to no, because I'm just not there yet.
|
||||
I know, I should be.
|
||||
I feel guilty about it.
|
||||
Sorry.
|
||||
The proto, I say none, because there doesn't need to be on boot.
|
||||
I say yes, because there does need to be.
|
||||
This thing needs to come up on boot.
|
||||
You will typically find that, like I say, in the configuration file, whether it's the
|
||||
Etsy slash network slash interfaces or whatever, or the rc.d slash rc.inet 1 or 2.conf, it's
|
||||
almost always got examples.
|
||||
It's usually got a lot of different options, and it kind of explains what those options
|
||||
are.
|
||||
The way that I started was I started with a bare minimum, which was basically the MAC address,
|
||||
the IP address, the on boot flag, and well, the name, I put in a card name, and the DNS,
|
||||
I put in the DNS servers, and the DNS servers and the domain name.
|
||||
Then I kind of add more stuff onto that later.
|
||||
For instance, I've got user control, that is user ctl.
|
||||
I set that to no, because I don't want anyone on the server to be able to control the main
|
||||
network interface.
|
||||
In in control, currently I have set yet to yes, so that's network manager control, yes.
|
||||
I'm trying to get away from that, because I feel like I'd have actually more control
|
||||
if I didn't let network manager sort of own that card, but right now, that's turned
|
||||
on, because it's convenient.
|
||||
Look through the configuration file, copy what you see, kind of use your ad, again, the
|
||||
concept is get an IP address from the ISP that you're using, and set this card to that.
|
||||
And since this is kind of the master card, this is the one that all the other computers
|
||||
are going to kind of defer to as their router, basically.
|
||||
You want to make sure that it's got the important settings like DNS settings, and some kind
|
||||
of, you know, the domain name, stuff like that, you want that to be present.
|
||||
So set that, and then you'll be ready to set up the other network interface.
|
||||
So at this point, like if you set up that card, and you've done an if config, and it's
|
||||
all looking good, you should be able to ping something on the internet and get a signal
|
||||
back.
|
||||
And I mean, you should be able to ping the internet from that box, from that physical
|
||||
box that we're setting up right now.
|
||||
It should have a direct link right now to your ISP, so if you're not getting a ping
|
||||
back from where you, from, from a site that you're pinging, and you believe that you
|
||||
should, then you're doing something wrong.
|
||||
And I would probably have to guess that it had something to do with the IP address that
|
||||
you're assigning to that internet, to that network interface.
|
||||
So verify that that's actually the IP address that is being distributed to you from your
|
||||
ISP.
|
||||
And really, it should almost, I mean, that should do it.
|
||||
Try pinging an IP address if you're trying to ping like Google.com or something, and that's
|
||||
not working.
|
||||
Then try to ping some IP address of a place and see if that works, because it could
|
||||
just be that you haven't set up your DNS servers, or it could be that you're not setting
|
||||
up your, your DNS server correctly.
|
||||
Maybe there's, maybe you've got a syntax error in there.
|
||||
You forgot to quote the IP address of the open DNS server, or you mistyped it, or whatever.
|
||||
So that, honestly, that, that step was really pretty straightforward when I set it up the
|
||||
very first time.
|
||||
That was not something that really gave me a whole lot of trouble.
|
||||
It's basically just like setting up any kind of network card when you get an internet connection
|
||||
with, with any old ISP.
|
||||
Okay, so the next step then is to set up a second network card in that computer, which
|
||||
you should see if you do an if config, you should see that you have an if zero and an
|
||||
if one.
|
||||
So if zero is going to be, well, is now configured to be your connection to the internet.
|
||||
So if one is going to be your connection to all the other computers in the, in the house
|
||||
or in the office or in the apartment, whatever.
|
||||
So again, you would, on Red Hat, you would just do a VIM on slash, Etsy slash, sysconfig slash
|
||||
network dash scripts slash if config dash, if one.
|
||||
And that probably will already exist on a, a correct install.
|
||||
It should have default values in that as well already.
|
||||
But if not, then you can create it pretty simply.
|
||||
And that is, again, the first line would be device equals ETH one.
|
||||
In in control equals yes, if that's what you choose.
|
||||
And right now it's probably simpler to just leave that on, on boot equals yes, the type
|
||||
equals ethernet, boot proto is static.
|
||||
So you want, this one to be statically assigned, you do not want this to change or anything
|
||||
like that.
|
||||
This is a static IP address that you're assigning this thing.
|
||||
And, and that's a good thing.
|
||||
IP address equals 192.168 dot, let's say eight dot one, or whatever, set some subnet for
|
||||
yourself.
|
||||
But yeah, it's, we'll go with 192.168 dot eight dot one.
|
||||
Again, I'm going to skip over IP version six, guiltily because I just, I don't use that
|
||||
yet.
|
||||
So I'm going to call that a no, I'm going to call user control equaling no, and the hardware
|
||||
address is going to be whatever the MAC address of that ethernet card is.
|
||||
And that's really all I need for that inner, that particular interface.
|
||||
So notice that it does not have a DNS setting.
|
||||
It doesn't have a domain name setting.
|
||||
It doesn't have any of that extra stuff that ETH zero had because that's not its job.
|
||||
It's actually going to be deferring to ETH zero for all that information.
|
||||
So that's, that's, that's this card's set up really.
|
||||
So at this point, you should be able to do some kind of like, I don't know, if you need
|
||||
to, and if can figure up or down, like if can figure down ETH, ETH one, and then bring
|
||||
it back up with if can figure up ETH one, if you're on red hat, they kind of want you
|
||||
to use like the little, the, the if up scripts, so you could do that too.
|
||||
But however you need to bring the network card down and then back up, I, I usually like
|
||||
to do that.
|
||||
You could also, in theory, do like a service space network restart, just to make sure
|
||||
that all your settings are kind of kicking in.
|
||||
And actually before you do that, we should set IP forwarding to yes.
|
||||
And the way that you do that is it's in atcslashciscontrol.conf.
|
||||
And there's a setting that says net.ip4.ip underscore forward equals one.
|
||||
Well it might say zero, but you want it to say one.
|
||||
Meaning that you want to forward IP packets to the rest, you know, to your other, to the
|
||||
other interfaces from one to the other interface.
|
||||
This is the kind of the thing actually that makes this box into a router when the, when
|
||||
the network comes into this computer that you're sitting at right now, the server, then
|
||||
you are forwarding all those packets onto their various destinations.
|
||||
So if someone requests something from hackerpublicradio.org, then when that request comes back, of course,
|
||||
it has a header that says, hey, I'm destined for 192.168.8.86 on your network.
|
||||
Could you send it to them?
|
||||
Well, if you have net.ipv4.ip underscore forward set to zero, then that's not going to be forwarded
|
||||
onto the rest of the network.
|
||||
But if you set it to one, then it will be.
|
||||
So that's the way that Red Hat does it.
|
||||
And amazingly, for once, it's exactly the same on Debian.
|
||||
It's the, it's the same file name, it's the same location.
|
||||
The comments are a little bit different, but it's the same thing.
|
||||
So it's just go into it with them or whatever is root user.
|
||||
And uncomment the line that says net.ipv4.ip underscore forward equals, well, it's commented
|
||||
out.
|
||||
So it'll say one.
|
||||
And then if you uncomment it, then suddenly you're enabling IP forwarding.
|
||||
So exactly the same process.
|
||||
The oddment out here is slackware.
|
||||
But happily, the slackware method is exactly like, well, everything else you do on slackware.
|
||||
It's really, really consistent.
|
||||
You simply make the slash, etsy slash rc.d slash rc.ip forward script in, obviously the rc.d folder.
|
||||
You make that executable.
|
||||
And from then on, the packets will be forwarded and it will come on at boot time and everything
|
||||
so that that box that you're configuring right there is now distributing, passing on all
|
||||
that IP information to the other network interfaces.
|
||||
So very, very clear and easy.
|
||||
I mean, it's almost something that you don't even have to look up.
|
||||
If you just poke around in the rc.d folder long enough, you see that pretty much everything
|
||||
you want to do is right there.
|
||||
And as long as it's executable, then it's going to start that service.
|
||||
It's pretty nice.
|
||||
So at this point where we've basically set up the server itself, it's, it is now a gateway
|
||||
to the internet.
|
||||
But one thing that you do want to do is, is have a DHCP server running somewhere, unless
|
||||
you want to manually configure everything, but I mean, come on, you're not really going
|
||||
to do that.
|
||||
So let's just set up the DHCP server.
|
||||
This is actually really marvelously simple.
|
||||
This was one of those things that was just, I don't know, surprisingly amazingly easy
|
||||
to do.
|
||||
It's sort of simple like SSHD, SSH, where you just kind of turn it on and it just kind
|
||||
of works.
|
||||
It's almost that easy.
|
||||
So we've got a little gateway server going.
|
||||
Now we're going to add to that same physical box, a DHCP server.
|
||||
So if you think about it, we really are kind of, we've got two servers in one physical
|
||||
box.
|
||||
And that's why I keep saying that when we hear the term server, it's kind of, it's very
|
||||
accurate.
|
||||
So a little bit deceptive because it's not just a server.
|
||||
It's a computer with lots of little services or server applications running on it.
|
||||
Okay.
|
||||
So we've got this thing and so we need to now install DHCP D. And you'll notice, you'll
|
||||
start to notice that a lot of these services that we are running all the time end with
|
||||
D because they're damons.
|
||||
They just kind of run per in the background happily.
|
||||
And they're just sitting there so that when someone pings them, they hear that request
|
||||
and they serve out whatever information they're designed to serve out.
|
||||
So you know, on whatever platform you're running, you can just install if it doesn't
|
||||
already exist on the computer, DHCP D package, whatever that would be.
|
||||
I don't even know.
|
||||
Everything I've ever set up has already had that on it.
|
||||
All I had to do was actually initiate it.
|
||||
But before we do initiate it, we want to make sure that we have a good configuration file
|
||||
in place.
|
||||
And on redhat and fedora, that's in slash atc slash DHCP slash DHCP D.conf, at least by default.
|
||||
There are other DHCP servers.
|
||||
I mean, the big, I guess the default one, very often is DHCP D.
|
||||
But there are other DHCP servers out there.
|
||||
Some of them are considered more lightweight or whatever.
|
||||
So if you're installing a lot of this sort of by hand or whatever, then you can choose
|
||||
maybe a different one, but the one that I've used has only been on a redhat server and
|
||||
it's only been DHCP D.
|
||||
So that's the one that I can talk to you about.
|
||||
And W and I've never made a DHCP server before.
|
||||
The W and boxes around here are typically the file servers, so they get their addresses
|
||||
from the main DHCP server.
|
||||
On Slackware, it is in DHCP rather, is in slash usr slash espin slash DHCP D.
|
||||
You can start that manually, I guess, I, this probably not recommended.
|
||||
You can install it when you're installing Slackware.
|
||||
You can probably grab it off of the, or rather a Startup script, you can install, if I recall
|
||||
correctly, when you're setting up Slackware.
|
||||
And there's also one on alien bobs of wiki or his site, rather.
|
||||
It's conny.slackware.com slash tilde alien slash RC underscore scripts, and you can find
|
||||
some RC scripts in there.
|
||||
So I've never actually run one on Slackware either, so I don't really, I don't have a
|
||||
whole lot of experience with that.
|
||||
It's just the ones that I have done have been on redhat, and then someone fedora just
|
||||
kind of playing around, but the one that's in production is on redhat.
|
||||
Either way, it's a really easy setup.
|
||||
The configuration is pretty, pretty easy, it's, I mean, it can be complex if you want
|
||||
it to be.
|
||||
But the default input into this file, this conf file, and again, it'll be well commented
|
||||
as well.
|
||||
But you want to set an option, option domain-name, and then in quotes, whatever the domain name
|
||||
is of your network.
|
||||
So in my case, like I said, it's going to be quote, slackermedia.local, end quote, semicolon.
|
||||
You have to remember the semicolons.
|
||||
I cannot tell you how many times, unfortunately, I have failed to place a semicolon on some
|
||||
random line in the DHCP, d.conf file, and just completely, completely, utterly, you wasted
|
||||
like an hour trying to figure out what I'd done wrong, and of course it was just a semicolon.
|
||||
So another option that you'd want to set are the domain name server.
|
||||
So option domain-name-servers, and that'll be 208.67.222.222, comma 208.67.220.220, I might
|
||||
have those reversed, but you get the idea.
|
||||
Just look up the open DNS IP addresses.
|
||||
I always forget which one is there first and their second one doesn't really matter,
|
||||
I guess.
|
||||
Anyway, you've got, we've just defined the DNS and the domain name that we're now going
|
||||
to forward onto all the clients whenever they join onto our network.
|
||||
So that's kind of nice.
|
||||
And you would want to do that really, most of all, if you're going to start running your
|
||||
own internal DNS service, because you want them to inherit your DNS server first before
|
||||
they go out to some other one outside, or you might want to make sure that they're inheriting
|
||||
your open DNS setting, because you might have some kind of site-specific settings through
|
||||
the open DNS control panel.
|
||||
So you want to make sure that all your clients are getting that.
|
||||
It's kind of nice.
|
||||
I mean, just superficially here, we have some open DNS settings.
|
||||
Just things like the company logo appears on the failure page when it doesn't resolve
|
||||
to anything.
|
||||
It'll show the company logo and say, we're sorry, you didn't get to where you want.
|
||||
And if there was anything that you were blocking on that network through open DNS, then, you
|
||||
know, unixform.com, you might be blocking that, because you don't want people looking at
|
||||
pictures of desktops, so they would get blocked that way, whereas if no one was inheriting
|
||||
your DNS services, then everyone in the building would be looking at unix porn all day.
|
||||
Now we want to define our subnet.
|
||||
And now, since we only have two network cards in our physical server, one of which is ingesting
|
||||
the internet and sending stuff back out to the internet, the other card is essentially,
|
||||
if you think about it, that's the router, that's the thing that's going to define the subnet.
|
||||
That's everything on one subnet is talking to that one card.
|
||||
If we had three cards, then we could have two subnets, because we've got one for the internet,
|
||||
and we've got two for the internal distribution of IP addresses.
|
||||
If we had four ethernet cards, then we could have three subnets and so on and so forth.
|
||||
So right now, since we're doing a simple setup, we only get one subnet.
|
||||
But that's okay.
|
||||
That's all we need.
|
||||
So we'll do subnet space 192.168.8.0, space net mask, space 255.255.255.0.
|
||||
So we're just saying that everything in this subnet, everything talking to this card,
|
||||
is one big pool of IP addresses.
|
||||
We'll open up a curly bracket.
|
||||
I think of this as kind of like a CSS block, you know, like if you've ever seen a style sheet,
|
||||
they have like the class name or the ID name, and then they have an open curly bracket,
|
||||
and then you have all the lines, and then you close the curly bracket under that.
|
||||
That's kind of what we're doing.
|
||||
So we open a curly bracket, and then the next line, you can say options, space, routers,
|
||||
space, 192.168.8.1.
|
||||
So if you recall, from when we were setting up the server, the big server that we just set
|
||||
up, well, we're still setting it up, but you know, the network interfaces, I should say,
|
||||
we had defined not the internet network card, but the internal network card that we're
|
||||
using for the rest of the computer as 192.168.8.1 static address.
|
||||
So that means that everything in this subnet now is inheriting the fact that the router
|
||||
that they're going to be talking to, to send information and get information back from,
|
||||
has the address of 192.168.4.1.
|
||||
And that, my friends, is where they get all the packets, and that's where they send all
|
||||
the packets, which are then forwarded to the other network card, which are forwarded
|
||||
to the router at your ISP, which are then forwarded to the internet, and magic happens.
|
||||
Next line, option, space, subnet, dash, dash, mask, space, well, again, that's 255.255.255.0,
|
||||
because we only have one network card, and so we only have one subnet mask.
|
||||
Remember to put semicolons, I think I just now forgot to put one after the router line,
|
||||
so 192.168.8.1 semicolon, and on this subnet mask, 255.255.255.0, semicolon.
|
||||
The next line will be option, space, broadcast, dash, address, and that is, in this case,
|
||||
it'll be 192.168.8.254 semicolon.
|
||||
That's basically everything on up to the very last IP address.
|
||||
The range, this is an interesting one, this is kind of cool.
|
||||
This is actually, to me, this is one of the most fun things about having a server, like
|
||||
a DHCP server, for some reason, maybe just because it's really familiar to me, because
|
||||
I used to do this kind of thing in the little routers that I would buy from Best Buy.
|
||||
But the range lets you decide what portion of the potential IP addresses that this server
|
||||
is generating now.
|
||||
But range of those addresses, you're going to hand over to DHCPD for it to just automatically
|
||||
hand out to all the people who sign onto your network, meaning that you could do like
|
||||
a range of 192.168.8.80 space, 192.168.8.253, and say that those are the addresses that
|
||||
get automatically assigned to clients.
|
||||
And that means that you have 80 addresses at the beginning of that, well, 79 addresses,
|
||||
at the beginning of your subnet, where you can statically assign those to the computers
|
||||
that you want to statically assign them to.
|
||||
Obviously, you would want some static assignments, right?
|
||||
You'd want this server to have a static assignment.
|
||||
You don't want the 192.168.8.1 to suddenly become 8.8.
|
||||
You might have a file server on the network.
|
||||
You might have a network attached printer that you would want to obviously always be at
|
||||
the same address.
|
||||
So all of these things, you can assign hard coded into this very configuration file, which
|
||||
we'll do in a minute, and the DHCPD server will not then take over those addresses and
|
||||
assign them out to other people.
|
||||
So it's a kind of a cool feature.
|
||||
You've got a lot of control, a lot of fine-grained control.
|
||||
Remember to end that line in A. Let's go ahead and say it out loud.
|
||||
Loud and long, say it, semi-colon, yes.
|
||||
Default-least-time space, heck, I don't know.
|
||||
I just put in a bunch of big numbers, 88,000, no commas.
|
||||
Symi-colon max-least-time space, I don't know, 120,000, semi-colon.
|
||||
I don't really have an issue with this.
|
||||
I could actually probably even lengthen it.
|
||||
There's just not that much problem with the length of the leads times.
|
||||
But obviously, again, you get a lot of fine-grained control here, so you can actually control how
|
||||
often you're forcing people to refresh their IP address, stuff like that.
|
||||
Now we close the curly bracket.
|
||||
Right under here, like if we had another network card, then we could create another subnet.
|
||||
If we had another Ethernet card, we could create another subnet.
|
||||
Basically, the trick is that the router becomes the name of that network card, or the router
|
||||
becomes the IP address of that network card.
|
||||
If you think back, when we were setting up that other Ethernet card, network card, we
|
||||
were saying that that gets the static assignment of 192.168.8.1, then we were saying we would
|
||||
go over to the next network card in our configuration file, whether it's rc.inet.3.conf, or whether
|
||||
it's if CFG-E2, whatever it is, then you can assign that a different address, and that
|
||||
becomes the router for that subnet, so that would become option space routers.
|
||||
Space 192.168.8.1, let's say 1, 2, 9, and then you would set your subnet mask to 255255.255.128
|
||||
semicolon, and so on and so forth.
|
||||
You can do that as much as you want, and subnet the thing, and you'll have to read up on
|
||||
subnets and figure out whether they're right for you, whether they're worth doing or not.
|
||||
It's really kind of, there are good points to it, and they're sort of like, why are you
|
||||
bothering points to it, and they each have their own different reason for existing.
|
||||
It turns out that I find it very helpful because it kind of can isolate certain departments.
|
||||
It doesn't hard isolate, it's not a firewall, but it reduces the noise, because
|
||||
if you're sending packets around from computers on one subnet, they know they have to probe
|
||||
the other subnet for addresses and stuff. They know that that computer isn't on that subnet,
|
||||
because it's a 1, 9, 2.168.9 address, so they don't even have to go to that floor in that department
|
||||
and scan that range of computers. So that's kind of nice, but it's just kind of something
|
||||
that it's not something that I've ever so far in my very, very limited experience set up,
|
||||
and just like, oh my gosh, that's changed my life. But I'm sure there's some server admin out there
|
||||
who has had their life changed by subnets, and when I meet that person, I will interview them.
|
||||
So next block of code here, or configuration lines, whatever, are the static assignments,
|
||||
and this is really easy, you just say host, space, host name, whatever the host name is,
|
||||
space, curly bracket, and then inside of this curly bracket stands out, we have hardware,
|
||||
space, ethernet, space, you know, zero zero, I mean, zero zero colon, 2, 6 colon, 9a colon, 20 colon,
|
||||
EC colon, C8 colon, 48, semicolon, remember those semicolons, and then fixed-address space,
|
||||
192.168.8.8, semicolon, and then close the curly bracket, and all that does,
|
||||
I mean, you can probably just figure that out, I probably don't even need to tell you exactly
|
||||
what that's doing, so there you go. All right, so now we've just configured the DHCPD.conf,
|
||||
so that is what the Damon that runs DHCP will look to to figure out what it's supposed to do,
|
||||
what address is it's supposed to hand out, what address is it's supposed to keep away from,
|
||||
when it sees a certain MAC address, what address to give that MAC address if it's been hard coded,
|
||||
static, whatever. The only thing really we have to do is restart that service if it's running,
|
||||
so if it's already running on Red Hat, it would be service DHCPD restart, or start if it's not
|
||||
running at all. On Debian, of course, it would be slash Etsy slash init.d slash DHCPD
|
||||
space restart or start, or whatever it needs to be, on Slackware, you can just restart the script,
|
||||
the same way, it's slash Etsy slash rc dot d slash rc dot DHCPD, and then you could restart or
|
||||
start whatever you have to do. And there you go, that's the DHCP server, so now you can step
|
||||
away from that server finally, and you can plug another computer into that ethernet port,
|
||||
or you could plug a switch into that ethernet port, that'd be cool, and then plug another computer
|
||||
into that switch, and maybe a wireless router into that switch, and a printer into that switch,
|
||||
all kinds of devices, just plug them into a switch, plug that switch into the network card,
|
||||
the network card that isn't serving the internet, or that isn't getting the internet,
|
||||
and then that will latch onto that server, and suddenly the magical blue smoke will
|
||||
come out of the server through the little cable into the switch, and it'll just go everywhere,
|
||||
it'll be all over the place, you'll have internet's in just all over the place, you won't be
|
||||
able to get it out for weeks. Of course, I really should probably mention that if you are on the
|
||||
internet in this fashion, you've set up a router, but we haven't even touched on a firewall,
|
||||
so right now you've got the internet coming into this box, completely, basically unadulterated,
|
||||
it's just the internet, meaning that that's really, really dangerous. There's usually a default
|
||||
set of IP tables that come along with any kind of major Linux distribution, so you should
|
||||
turn that on. You can get a list of IP tables, and I'm not about to attempt to do an IP tables
|
||||
tutorial, because I'm nowhere near knowing enough about that to speak intelligently about it,
|
||||
but you can get a list of your IP tables as root user, IP tables space dash L, and then you can
|
||||
see if there are default settings that are usually really good default IP tables included.
|
||||
If you don't know IP tables at all, then you may want to go ahead and
|
||||
not go into the internet yet, but you might want to turn on the X11 firewall configuration tool
|
||||
that comes along with your distribution, whatever that would be, and then you can make sure that
|
||||
there are some sane settings in there. Like I say, usually there are some really good default
|
||||
settings, so that if you do this exercise, you're not completely opening up your box
|
||||
to the entire world, but understand that that is what's happening here. You've got
|
||||
the internet coming into your wall, and you've got it plugged into a computer. There's no friendly
|
||||
little router box between that computer and the whole world right now. There's no
|
||||
thing, no router there that protects really a whole lot, so you want to make sure that IP tables
|
||||
are turned on and that they've got some good default settings before you continue too much longer.
|
||||
And that's it. That's all I can say about setting up a gateway and a DHCP server. I hope you've
|
||||
enjoyed this episode. I hope it has been informative and maybe demystified some of the things about
|
||||
servers. Next episode we're going to go right into DNS server setting up there of. So join me
|
||||
next episode for setting up a DNS server.
|
||||
Thank you for listening to Hacker Public Radio. For more information on the show and how to
|
||||
contribute your own shows visit Hacker Public Radio dot org.
|
||||
Reference in New Issue
Block a user