我不知道如何设置 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)。