DHCP-сервер - невозможно предоставить общий доступ к Интернету клиентам

примечание: я назову сервер, на котором запущен isc-dhcp-server, «DHCP-SERVER», а компьютер, подключенный к моему коммутатору, «DHCP-Clients» "

Привет, В настоящее время я настраиваю сеть и не могу предоставить общий доступ к Интернету через DHCP-клиентов. Я также использую isc-dhcp-server Мой DHCP-СЕРВЕР может, например, пинговать google.com, входить в систему с помощью SSH моих dhcp-клиентов. Мои DHCP-клиенты могут пинговать DHCP-сервер и ничего больше. При запуске ping google.com, вот результат

user@client1:~ $ ping google.com
ping: google.com: Temporary failure in name resolution

Здесь вы можете найти рисунок моей настройки


DHCP-СЕРВЕР

Интерфейсы:

  1. WLAN: wlp2s0, подключен к моему Wi-Fi-роутеру, может взаимодействовать с миром (например, ping google.com работает)
  2. Ethernet: enx0050b62184c1, подключенный к моему коммутатору, может взаимодействовать с проводными клиентами на коммутаторе
isri@shuttle:~$ cat /etc/network/interfaces

# This file describes the network interfaces available on your system
# and how to activate them. For more information, see interfaces(5).

source /etc/network/interfaces.d/*

# The loopback network interface
auto lo
iface lo inet loopback

auto enx0050b62184c1
iface enx0050b62184c1 inet static
  address 10.0.2.1
  #netmask 255.255.255.240
  gateway 192.168.1.1
user@dhcp-server:~$ ip a
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
       valid_lft forever preferred_lft forever

2: enx0050b62184c1: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether 00:50:b6:21:84:c1 brd ff:ff:ff:ff:ff:ff
    inet 10.0.2.1/8 brd 10.255.255.255 scope global enx0050b62184c1
       valid_lft forever preferred_lft forever
    inet6 fe80::250:b6ff:fe21:84c1/64 scope link
       valid_lft forever preferred_lft forever

3: wlp2s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether b0:c0:90:92:c4:6b brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.99/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp2s0
       valid_lft 86329sec preferred_lft 86329sec
    inet6 fe80::b2c0:90ff:fe92:c46b/64 scope link noprefixroute
       valid_lft forever preferred_lft forever

/etc/dhcp/dhcpd.conf

user@dhcp-server:~$ cat /etc/default/isc-dhcp-server
# Defaults for isc-dhcp-server (sourced by /etc/init.d/isc-dhcp-server)

# Path to dhcpd's config file (default: /etc/dhcp/dhcpd.conf).
#DHCPDv4_CONF=/etc/dhcp/dhcpd.conf
#DHCPDv6_CONF=/etc/dhcp/dhcpd6.conf

# Path to dhcpd's PID file (default: /var/run/dhcpd.pid).
#DHCPDv4_PID=/var/run/dhcpd.pid
#DHCPDv6_PID=/var/run/dhcpd6.pid

# Additional options to start dhcpd with.
#       Don't use options -cf or -pf here; use DHCPD_CONF/ DHCPD_PID instead
#OPTIONS=""

# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
#       Separate multiple interfaces with spaces, e.g. "eth0 eth1".
INTERFACESv4="enx0050b62184c1"
#INTERFACESv6=""

конфигурационный файл dhcpd

user@dhcp-server:~$ cat /etc/dhcp/dhcpd.conf
# dhcpd.conf
option domain-name "my-network";
# option domain-name-servers none;
# option domain-name-servers 192.168.1.1;
default-lease-time 600;
max-lease-time 7200;
ddns-update-style none;
subnet 10.0.2.0 netmask 255.255.255.240 {
   range 10.0.2.2 10.0.2.14;
   option routers 10.0.2.1;
   host client1 {
      hardware ethernet b8:27:eb:d3:83:02;
      fixed-address     10.0.2.6;
   }

   host client2 {
      hardware ethernet b8:27:eb:1e:8f:9d;
      fixed-address     10.0.2.5;
   }

   host client3 {
      hardware ethernet b8:27:eb:bd:fc:16;
      fixed-address     10.0.2.4;
   }

}

То, что я пробовал до сих пор

Я пытался использовать следующая команда на моем DHCP-сервере iptables -t nat -A POSTROUTING -s 10.0.2.0/28 -j MASQUERADE

Я также включил net.ipv4.ip_forward. sysctl -w net.ipv4.ip_forward = 1

В моем файле / etc / network / interfaces я также пытался заменить 192.168.1.1 на мой IP-адрес 192.168.1.99.


Но ничего не работает. Есть идеи, почему?


Ответ от MeMow: Я изменил "option domain-name-servers none;" на мой локальный IP-адрес DNS (тот, который предоставил мой интернет-провайдер). Теперь при проверке связи с веб-сайтом у меня возникает следующая проблема:

user@client1:~ $ ping google.com
PING google.com (142.250.74.238) 56(84) bytes of data.
From 10.0.2.1 (10.0.2.1) icmp_seq=1 Destination Host Unreachable
From 10.0.2.1 (10.0.2.1) icmp_seq=2 Destination Host Unreachable
From 10.0.2.1 (10.0.2.1) icmp_seq=3 Destination Host Unreachable
0
задан 29 December 2020 в 12:16
2 ответа

Согласно вашему ping-выходу, у вас все еще есть проблема с маршрутизацией. Скорее всего, это было неправильно. Его следует включить через

echo 1 > /proc/sys/net/ipv4/ip_forward

. Строку ниже необходимо добавить в /etc/sysctl.conf , чтобы не потерять реттинг после перезагрузки.

net.ipv4.ip_forward = 1

Также ваше правило NAT iptables не содержит адресата . Вам необходимо указать dst или выходной интерфейс.

iptables -t nat -A POSTROUTING -s 10.0.2.0/28 -d 0/0 -j MASQUERADE

или

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

Убедитесь, что правила не потеряны после перезагрузки. Обычно их следует сохранять в файлы с помощью следующих команд. Debian / Ubuntu:

iptables-save > /etc/iptables/rules.v4

RHEL / CentOS:

iptables-save > /etc/sysconfig/iptables
0
ответ дан 4 January 2021 в 09:52

Предполагая, что у клиента есть доступ к Интернету и он действительно может проверить связь с внешним IP-адресом, я предполагаю, что это проблема DNS.

Я не вижу DNS, обслуживаемого вашей конфигурацией DHCP?

должна быть

опция DNS_IP серверов доменных имен;

вместо none

0
ответ дан 4 January 2021 в 09:52

Теги

Похожие вопросы