如何为 dns 和 resolv.conf 配置两个 Nic 以及如何将 eth0 DNS 转发到 eth1 和 gw

如何为 dns 和 resolv.conf 配置两个 Nic 以及如何将 eth0 DNS 转发到 eth1 和 gw

我有两张网卡。

这是我的/etc/network/interfaces

auto eth0
iface eth0 inet dhcp    //for internet

auto eth1
iface eth1 inet static   //for lan
address 20.X.X.X.X
netmask 255.255.255.0
broadcast 20.X.X.X.255
gateway 20.X.X.1
  1. 哪个网关是默认网关?如何将网关路由到默认网关?

  2. 当我运行时networking restart,resolv.conf域名服务器被替换为互联网的DNS服务器,我该如何配置resolv.conf?

答案1

如果我理解您要做什么,那么您需要安装一些东西:

sudo apt-get install dhcp3-server resolvconf #also possibly 'radvd'


启用通过您机器的流量(IPv4):
好的,现在我们来改变一个设置:

sudo nano /etc/sysctl.conf

删除行首的 # #net.ipv4.ip_forward=1,然后按Ctrl x,然后y按 保存。

跑步sudo sysctl -p


设置 LAN 接口地址 (IPv4):
除非您是“Computer Sciences Corporation”,否则您不应使用 20.xxx 地址。您可以改用以下任何私有地址范围:10.xxx、192.168.xx 或范围 172.16.0.0 – 172.31.255.255(又名 172.16.0.0/12 或 172.16.0.0,网络掩码为 255.240.0.0)。运行

sudo nano /etc/network/interfaces

删除网关行。此计算机是连接的网关,因此您无需为该接口设置网关。其他计算机将使用此计算机的地址作为其网关。将地址行更改为address 10.0.0.1。将广播行更改为broadcast 10.0.0.255。按Ctrl x,然后y按 保存。


设置 DNS 服务器(IPv4 和/或 IPv6):
跑步

sudo nano /etc/resolvconf/resolv.conf.d/head

(忽略可怕的警告。/etc/resolv.conf 是自动生成的,所以警告在文件中, /etc/resolvconf/resolv.conf.d/head所以当 /etc/resolv.conf 生成时,它会被放在 /etc/resolv.conf 的顶部。)在文件末尾,添加

 nameserver <ip_of_nameserver>

Ctrl x并回答“是”以保存文件。最后,重新生成 /etc/resolv.conf,以便立即应用更改:

 sudo resolvconf -u


设置 NAT (IPv4)(不寒而栗):
启用 UFW:

sudo ufw enable

制定一个持久的 NAT 规则,由 UFW 在启动时恢复:

sudo nano /etc/ufw/before.rules

-A POSTROUTING -o ppp0 -j MASQUERADE在行后添加行*nat。按Ctrl x,然后y按 保存。


给出地址(IPv4):
让我们编辑一些文件:

sudo nano /etc/dhcp3/dhcpd.conf /etc/default/dhcp3-server

在第一个文件中添加以下内容:

subnet 10.0.0.0 netmask 255.255.255.0 {
  range 10.0.0.2 10.0.0.254;
  option routers 10.0.0.1;
  option domain-name-servers <dns_server>;
}

Ctrl x,然后y保存。在下一个文件中,编辑行INTERFACES=""以显示INTERFACES="eth1"。按Ctrl x,然后y保存。要启动地址分发守护进程,请运行

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


相关内容