NAT网关,Iptables,端口转发,DNS和DHCP设置 -  Ubuntu 8.10服务器

NAT网关,Iptables,端口转发,DNS和DHCP设置 - Ubuntu 8.10服务器

所以你太穷了,不能负担另一个昂贵的路由器,想要自己做的事情。 你找到了正确的教程! 本教程将向您展示如何设置具有NAT,端口保护,DNS服务器和DHCP服务器的Ubuntu 8.10路由器。

为什么Ubuntu你问?

Ubuntu不仅是一个伟大的操作系统,它也非常灵活,功能强大,可以让您无时无刻无故地起床和运行! 注意:请在每一步后重新启动计算机。 这将确保一切正常。

我们需要的一些基本事情是...

DHCP - dhcp3-server
DNS - bind9
iptables - 包含/ w ubuntu

第一件事

你需要2个网卡。 拿你的第一张网卡,并将你的WAN连接插入它。 你应该知道这是什么网卡,eth0 eth1 ect ...如果你不知道是什么,我的朋友尝试和错误。

我们只要说你的WAN卡将是eth0( 如果是eth1,只要做一切都相同,但是相应地调整你的配置 )。 我们要找到文件/ etc / network / interfaces 。 在文件上执行VI

sudo vi /etc/network/interfaces

您应该在文件中看到( 如果您还没有设置 ):

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback

我们要将其添加到文件中。 作为附注,如果您不知道如何使用VI使用nano或学习VI。

auto eth0
iface eth0 inet dhcp

auto eth0代码告诉eth0在启动时启动,类似于运行

sudo ifconfig eth0 up

代码iface eth0 inet dhcp告诉eth0接口寻找一个DHCP服务器并从那里获取它的信息。 如果您连接到电缆调制解调器,这是很重要的,因为您将希望从ISP获取公共IP。

下一步要配置您的网卡eth1。 这将是您的“LAN”卡。

如果你还记得我们的/ etc / network / interfaces配置看起来像

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp

我们再次将VI插入到interfaces文件中,并添加了几行:

sudo vi /etc/network/interfaces

将这些行添加到文件的底部。

auto eth1
iface eth1 inet static
        address         172.17.207.121
        netmask         255.255.255.0
        broadcast       172.17.207.255
        network         172.17.207.0

这只是为您的LAN卡上的服务器提供一个静态IP地址。

您的文件现在应该是这样的。

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).
# The loopback network interface
auto lo
iface lo inet loopback
# The primary network interface
auto eth0
iface eth0 inet dhcp
auto eth1
iface eth1 inet static
        address         172.17.207.121
        netmask         255.255.255.0
        broadcast       172.17.207.255
        network         172.17.207.0

现在,在我们忘记之前,让我们编辑你的/ etc / hosts文件。

sudo vi /etc/hosts

使文件看起来像我的,尽管如果你打电话给你的服务器uservemyserver你可以改变它。

另请注意asus.local域名,使用自己的mydomain.local是一个好主意,但您可以使用我所学习的东西。

我们使用.local ,因为它很容易记住,它不是公开的,所以我们不会干扰任何东西。

127.0.0.1       localhost server.localhost
172.17.207.121  server.asus.local server asus.local

现在我们配置了我们的接口,我们将安装和设置一个dhcp服务器。 要安装dhcp服务器,请运行命令

sudo apt-get install dhcp3-server

我们来编辑dhcpd.conf文件。 首先运行命令

sudo vi /etc/dhcp3/dhcpd.conf

现在,如果该文件中有任何内容,请删除它

将其复制并粘贴到文件中,然后写入并退出。

ddns-update-style none;
option domain-name "whatever.local"; //change this to something you want.local such as mydomain.local
option domain-name-servers 172.17.207.121, 24.92.226.41; //you also might want to change that second dns server to your ISP's local DNS server
option routers 172.17.207.121;
default-lease-time 42300;
max-lease-time 84600;
authoritative;
log-facility local7;
subnet 172.17.0.0 netmask 255.255.255.0 {
        range 172.17.207.1 172.17.207.100; //you can expand the range just by changing .100 to .254 or somthing like that
}

现在运行命令

sudo /etc/init.d/dhcp3-server start

这将启动您的DHCP服务器,我们可以标记该部分DONE。

继续... DNS

绑定是我们将要使用的DNS包。 要安装,我们只是运行

sudo apt-get install bind9

这将下载并安装我们的绑定服务器。

首先运行命令

vi /etc/bind/named.conf

然后删除文件中的所有内容,并查找我的注释,通常由//指示。

// This is the primary configuration file for the BIND DNS server named.
//
// Please read /usr/share/doc/bind9/README.Debian.gz for information on the
// structure of BIND configuration files in Debian, *BEFORE* you customize
// this configuration file.
//
// If you are just adding zones, please do that in /etc/bind/named.conf.local
include "/etc/bind/named.conf.options";
// prime the server with knowledge of the root servers
zone "." {
        type hint;
        file "/etc/bind/db.root";
};
// be authoritative for the localhost forward and reverse zones, and for
// broadcast zones as per RFC 1912
zone "asus.local" { //change asus.local to whatever you named your domain such as mydomain.local
type master;
file "/etc/bind/zones/asus.local.db"; //this file or foler does not exist so we will need to make it
};
zone "207.17.172.in-addr.arpa" {
type master;
file "/etc/bind/zones/rev.207.17.172.in-addr.arpa";//this file does not exist so we will also need to make it
};
zone "localhost" {
        type master;
        file "/etc/bind/db.local";
};
zone "127.in-addr.arpa" {
        type master;
        file "/etc/bind/db.127";
};
zone "0.in-addr.arpa" {
        type master;
        file "/etc/bind/db.0";
};
zone "255.in-addr.arpa" {
        type master;
        file "/etc/bind/db.255";
};
include "/etc/bind/named.conf.local";

在我们可以使两个文件asus.local.dbrev.207.17.172.in-addr.arpa之前 ,我们需要编辑另一个文件。 所以

sudo vi /etc/bind/named.conf.options

删除文件中的所有内容并使用此...

options {
        directory "/var/cache/bind";
        // If there is a firewall between you and nameservers you want
        // to talk to, you may need to fix the firewall to allow multiple
        // ports to talk.  See http://www.kb.cert.org/vuls/id/800113
        // If your ISP provided one or more IP addresses for stable
        // nameservers, you probably want to use them as forwarders.
        // Uncomment the following block, and insert the addresses replacing
        // the all-0's placeholder.
         forwarders {
          24.92.226.41; //very important, change this to your LOCAL ISP's DNS server(s)
      24.92.224.40;
         };
        auth-nxdomain no;    # conform to RFC1035
        listen-on-v6 { any; };
};

注意意见,他们告诉您更改我们的代理商地址到您的LOCAL ISP的DNS。

接下来,cd到你的绑定目录:

cd /etc/bind/
sudo mkdir zones
cd zones
sudo vi asus.local.db

(或使用您的域名,如mydomain.local.db 。)

一旦你在asus.local.db文件或mydomain.local.db文件(无论你调用它),复制并粘贴,对您的域名做适当的更改。

$ORIGIN .
$TTL 4000 ;
asus.local.     IN SOA  server.asus.local. admin.asus.local. (
2007031001      ; serial
28800           ; refresh
3600            ; retry
604800          ; expire
38400           ; min
)
                NS      server.asus.local.
$ORIGIN asus.local.
                IN      A       172.17.207.121
www             IN      A       172.17.207.121 //an example
server          IN      A       172.17.207.121 //an example
macpro          IN      A       172.17.207.4   //an example

如果你做一个nslookup macpro ,你将得到172.17.207.4的回答,所以根据你的设置更改域名和IP。

接下来,我们将要修改不存在的rev.207.17.172.in-addr.arpa文件。 但一旦我们保存它。 假设您仍然在区域文件夹中:

vi rev.207.17.172.in-addr.arpa

复制并粘贴我在这里,进行适当的更改。

$ORIGIN .
$TTL 28800      ; 8 hours
207.17.172.IN-ADDR.ARPA IN SOA server.asus.local. admin.asus.local. (
                                2008110601 ; serial
                                28800      ; refresh (8 hours)
                                7200       ; retry (2 hours)
                                604800     ; expire (1 week)
                                86400      ; minimum (1 day)
                                )
                        NS      server.asus.local.
$ORIGIN 207.17.172.IN-ADDR.ARPA.
4                     PTR    macpro.asus.local.

所以现在,如果您在172.17.207.4上进行了反向查找,那么您将获得macpro.asus.local

现在运行命令启动命名:

sudo /etc/init.d/named start

如果没有启动,请检查/ var / logs中的日志

最后但并非最不重要的是IPTABLES

首先是第一件事,我们需要在/ etc /文件夹中编辑sysctl.conf ,所以:

sudo vi /etc/sysctl.conf

取消注释行28.这意味着删除它前面的 。 该行应该是net.ipv4.ip_forward = 1

接下来,让我们再来rc.local

sudo vi /etc/rc.local

将这两行添加到文件的底部:

/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables --table nat -A POSTROUTING -o eth0 -j MASQUERADE

这将使用iptables设置您的网关。 您可以使用iptables使其比此基本设置更安全。

要转发端口,可以将这样的内容添加到rc.local文件的末尾。

/sbin/iptables -t nat -A PREROUTING -p tcp -i eth0 -d jgibbs.dyndns.org --dport 3389 -j DNAT --to 172.17.207.4:3389

上面的长线将端口3389上的所有传入流量转发到IP 172.17.207.4 ,所以我可以从我的网络外部将远程桌面进入我的Windows框。

你可以用你想要的任何端口来做到这一点。

重新开始!

另外,报告任何问题,我将修复本教程与更新。 谢谢,Jeremy用户gibbsj。

赞(52) 打赏
未经允许不得转载:优客志 » 系统运维
分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏