DHCP 서버

DHCP 서버

참고: isc-dhcp-server "DHCP-SERVER"를 실행하는 서버를 호출하고 내 스위치 "DHCP-Clients"에 연결된 컴퓨터를 호출하겠습니다.

안녕하세요. 현재 네트워크를 설정하고 있는데 DHCP 클라이언트를 통해 인터넷을 공유할 수 없습니다. 나도 사용하고 있어요isc-dhcp-서버 예를 들어 내 DHCP-SERVER는 google.com을 핑하고 SSH my dhcp-clients를 사용하여 로그인할 수 있습니다. 내 DHCP 클라이언트는 DHCP 서버에만 ping을 보낼 수 있으며 그 외에는 아무 것도 없습니다. 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. 이더넷: 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의 답변: "옵션 도메인 이름 서버 없음"을 변경했습니다. 내 로컬 DNS IP(내 ISP에서 제공한 IP)에 연결합니다. 이제 웹사이트에 핑을 보낼 때 다음과 같은 문제가 발생합니다.

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

답변1

핑 출력에 따르면 라우팅에 여전히 문제가 있습니다. 아마도 제대로 할 수 없었을 것입니다. 다음을 통해 활성화해야 합니다.

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

/etc/sysctl.conf재부팅 후 다시 설정이 풀리지 않도록 아래 줄을 추가해야 합니다 .

net.ipv4.ip_forward = 1

또한 iptables NAT 규칙에는 대상이 포함되어 있지 않습니다. 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

재부팅 후 규칙이 손실되지 않는지 확인하십시오. 일반적으로 다음 명령을 사용하여 파일에 저장해야 합니다. 데비안/우분투:

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

RHEL/센트OS:

iptables-save > /etc/sysconfig/iptables

답변2

클라이언트가 인터넷에 액세스할 수 있고 실제로 외부 IP 주소를 핑할 수 있다고 가정하면 DNS 문제인 것 같습니다.

DHCP 구성에서 제공하는 DNS가 표시되지 않습니까?

있어야한다

옵션 도메인 이름 서버 DNS_IP;

없음 대신에

관련 정보