在 CentOS 6.4 中设置路由作为具有两个网卡的路由器/DHCP 服务器

在 CentOS 6.4 中设置路由作为具有两个网卡的路由器/DHCP 服务器

我不知道如何设置 centOS 6.4 来路由数据包。

|本地网络| -eth0- |CentOS 6.4 盒| -eth1- |互联网|

centOS 盒子正在运行 dhcp 服务器。目前它正在分配 192.168.3.0/24 上的 IP 地址,但我认为 DNS 也运行不正常。我有两个盒子 192.168.3.5 和 192.168.3.6,它们可以整天互相 ping 通,但 nslookup raid_array 不起作用。这是我目前的设置。

我希望所有 192.168.3.0/24 流量都通过 eth0 转发。任何前往互联网的流量都应伪装成通过 eth1 的 172.16.0.72。DNS 在其中起什么作用?

/etc/sysconfig/网络脚本/ifcfg-eth0

DEVICE=eth0
TYPE=ETHERNET
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=none
IPADDR=192.168.3.1
NETMASK=255.255.255.0

/etc/sysconfig/网络脚本/ifcfg-eth1

DEVICE=eth0
TYPE=ETHERNET
ONBOOT=yes
NM_CONTROLLED=no
BOOTPROTO=static
NETMASK=255.255.255.0
IPADDR=192.16.0.72
GATEWAY=172.16.0.1

/etc/sysconfig/网络

NETWORKING=yes
GATEWAY=192.168.3.1
NOZEROCONF=true

路线-n

Destination     Gateway    Genmask       Flags    Metric  Ref   Use   Iface
192.168.3.0     0.0.0.0   255.255.255.0   U           0    0     0     eth0
0.0.0.0       172.16.0.1  0.0.0.0         UG          0    0     0     eth1

iptables

:INPUT ACCEPT [0:0]
:FORWARD ACCEPT [0:0]
:OUTPUT ACCEPT [0:0]
-A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 22 -j ACCEPT
-A INPUT -m state --state NEW -m tcp -p tcp --dport 443 -j ACCEPT
-A INPUT -j REJECT --reject-with icmp-host-prohibited
-A FORWARD -j REJECT --reject-with icmp-host-prohibited

答案1

您还需要将其添加到您的/etc/sysctl.conf

net.ipv4.ip_forward = 1

然后运行:

sysctl -p /etc/sysctl.conf

Red Hat 的默认行为不是转发数据包,而只是作为一个终点。

您还需要接受通过盒子的流量(否则它将无法很好地作为路由器工作)

iptables -A FORWARD -i eth1 -j ACCEPT

您还需要为流量添加后路由伪装规则。

顺便说一句,在您的ifcfg-eth1文件中,将设备名称更改为eth1,否则您可能会遇到问题。

DNS 用于提供域名 <=> IP 寻址,如果您在 192.168.3.X 网络内有服务器,您可能需要拥有自己的 DNS 服务器,这样您就不必记住 IP 地址,尽管您需要为这些机器配置静态 IP 或设置 DHCP 以始终为它们分配相同的 IP。但是,如果您不需要内部 DNS,请使用您的 ISP 提供的 DNS 或 Google 的 DNS(8.8.8.8)。

相关内容