DHCP 子网中的名称或服务未知

DHCP 子网中的名称或服务未知

我正在尝试在通过具有两个不同网络适配器的主机生成的 DHCP 子网内设置正确的 ip 转发。

我目前的情况是这样的:

  1. 第一个节点有两个网络适配器,第一个连接到 WAN,第二个负责通过 DHCP 生成子网。这里是 DHCP 配置(标识为 master 的主机应该是网关):

    subnet 10.142.0.0 netmask 255.255.255.0 {
    interface                       enp0s31f6;
    option routers                  10.142.0.1;
    option subnet-mask              255.255.255.0;
    option domain-search            "net.local";
    option broadcast-address        10.142.0.255;
    option domain-name-servers      8.8.8.8;
    range 10.142.0.20       10.142.0.100;
    }
    host master{
    hardware ethernet d4:5d:df:1a:26:40;
    fixed-address 10.142.0.1;
    }
    host node01 {
    hardware ethernet d4:5d:df:13:69:42;
    fixed-address 10.142.0.2;
    }
    host node02{
    hardware ethernet d4:5d:df:13:69:45;
    fixed-address 10.142.0.3;
    }
    
  2. 添加了以下 iptables 规则这里提供的答案

节点正确获取 IP,我可以通过 ssh 连接到它们。 Ping 到外部主机工作正常,但当我尝试解析主机名时,出现名称或服务未知错误。即使是 DNS 查找,我是否也必须设置 IP 表规则?

预先感谢!

编辑:尝试直接 CURL GOOGLE IP,No route to host无论如何 curl http://216.58.205.131 curl: (7) Failed connect to 216.58.205.131:80; No route to host ,如果我 ping 它,一切都会按预期工作 ping 216.58.205.131 PING 216.58.205.131 (216.58.205.131) 56(84) bytes of data. 64 bytes from 216.58.205.131: icmp_seq=1 ttl=54 time=23.7 ms 64 bytes from 216.58.205.131: icmp_seq=2 ttl=54 time=20.0 ms 64 bytes from 216.58.205.131: icmp_seq=3 ttl=54 time=19.9 ms

答案1

经过一番谷歌挖掘后,我设法找到了问题:网关上的firewalld(10.142.0.1)正在阻止忽略转发规则的请求(可能有另一个规则克服了转发规则)。

在开头插入规则就成功了 iptables -I FORWARD -i <LAN_ETH> -o <WAN_ETH> -j ACCEPT

相关内容