2023-09-01

[dnsmasq] 이거저거.

# 네트워크 인터페이스 설정 interface=eth1 # 상위 네트워크 인터페이스 # 하위네트워크 1에 대한 DHCP 설정 dhcp-range=192.168.1.10,192.168.1.50,12h # 하위네트워크 1의 게이트웨이 설정 dhcp-option=option:router,192.168.1.1 # 하위네트워크 1의 DNS 서버 설정 dhcp-option=option:dns-server,8.8.8.8 # 하위네트워크 2에 대한 DHCP 설정 dhcp-range=192.168.2.10,192.168.2.50,12h # 하위네트워크 2의 게이트웨이 설정 dhcp-option=option:router,192.168.2.1 # 하위네트워크 2의 DNS 서버 설정 dhcp-option=option:dns-server,8.8.4.4


DHCP 서버가 갖고 있는 DNS 서버 정보를 하위 요청에 내려주려면, dhcp-option=option:dns-server, 옵션 뒤에 DNS 서버 주소 목록을 쉼표로 구분하여 지정하면 됩니다. 예를 들어, 다음과 같이 설정할 수 있습니다.

dhcp-range=192.168.1.10,192.168.1.50,12h  dhcp-option=option:router,192.168.1.1  dhcp-option=option:dns-server,8.8.8.8,8.8.4.4  

이 설정은 상위 DHCP 서버가 8.8.8.8과 8.8.4.4 두 개의 DNS 서버를 사용하고 있으며, 이를 하위 네트워크 1의 클라이언트에게 할당한다는 것을 의미합니다.

또는, dhcp-option=option:dns-server, 옵션 뒤에 0.0.0.0을 지정하면, DHCP 서버가 사용하는 모든 DNS 서버 정보를 하위 요청에 내려줄 수 있습니다. 예를 들어, 다음과 같이 설정할 수 있습니다.

dhcp-range=192.168.1.10,192.168.1.50,12h  dhcp-option=option:router,192.168.1.1  dhcp-option=option:dns-server,0.0.0.0  

이 설정은 상위 DHCP 서버가 사용하는 모든 DNS 서버 정보를 하위 네트워크 1의 클라이언트에게 할당한다는 것을 의미합니다.

cache-size=1000 cache-ttl=3600

내 기기는 DHCP 서버와 DNS 캐시 역할만 하고 게이트웨이는 192.168.1.1 장치가 별도로 있으며 DNS 캐싱도 하고, 내 IP는 192.168.1.2인 경우의 dnsmasq 설정은 다음과 같습니다.

interface=eth0  dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h  dhcp-option=3,192.168.1.1  gateway=192.168.1.1  domain-name=example.com  dns-cache=on  

이 설정은 다음과 같은 기능을 수행합니다.

  • DHCP 서버를 활성화합니다.
  • 192.168.1.100에서 192.168.1.200까지의 IP 주소를 DHCP 서버에서 할당합니다.
  • DHCP 임대 기간을 12시간으로 설정합니다.
  • 게이트웨이 IP 주소를 192.168.1.1로 설정합니다.
  • 도메인 이름을 example.com으로 설정합니다.
  • DNS 캐시를 켭니다.
  • DHCP 클라이언트에 192.168.1.1을 게이트웨이로 설정합니다.

내 IP 주소는 192.168.1.2이므로, DHCP 클라이언트의 IP 주소는 192.168.1.2로 설정됩니다. 따라서, gateway 설정을 지정하지 않으면, dnsmasq는 DHCP 클라이언트의 IP 주소를 게이트웨이로 사용합니다. 따라서, gateway 설정을 지정하지 않으면, dnsmasq는 DHCP 클라이언트의 IP 주소를 게이트웨이로 사용하게 됩니다.

dns-server 설정을 지정하지 않으면, dnsmasq는 기본적으로 다음과 같은 DNS 서버를 사용합니다.

  • 1.1.1.1
  • 1.0.0.1

이 DNS 서버는 Google에서 제공하는 DNS 서버로, 빠르고 안정적입니다. 따라서, 네트워크에 별도의 DNS 서버가 없거나, 기존 DNS 서버가 느리거나 불안정하다면, dnsmasq가 기본적으로 제공하는 DNS 서버를 사용하는 것이 좋습니다.

dns-server를 지정하지 않으면, dnsmasq는 DHCP 클라이언트의 DHCP 서버 설정을 사용하여 DNS 서버를 결정합니다. 따라서, DHCP 클라이언트의 DHCP 서버 설정에 DNS 서버가 지정되어 있으면, dnsmasq는 해당 DNS 서버를 사용하게 됩니다.

이 경우, DNS 캐시를 활성화하여 DNS 쿼리의 응답 시간을 단축할 수 있습니다. DNS 캐시를 활성화하려면 dns-cache 설정을 추가합니다. dns-cache 설정의 값은 다음과 같습니다.

  • on: DNS 캐시를 켭니다.
  • off: DNS 캐시를 끕니다.

따라서, DNS 캐시를 켜는 설정은 다음과 같습니다.

interface=eth0  dhcp-range=192.168.1.100,192.168.1.200,255.255.255.0,12h  dhcp-option=3,192.168.1.1  gateway=192.168.1.1  domain-name=example.com  dns-cache=on  

이 설정은 DNS 캐시를 활성화하여 DNS 쿼리의 응답 시간을 단축하고, DHCP 클라이언트에 192.168.1.1을 게이트웨이로 설정합니다.


domain-name은 DHCP 클라이언트가 DNS 쿼리를 수행할 때 사용할 도메인 이름을 지정하는 옵션입니다.

DHCP 클라이언트는 DNS 쿼리를 수행할 때 도메인 이름을 지정해야 합니다. 도메인 이름을 지정하지 않으면, DNS 서버는 클라이언트의 IP 주소를 기준으로 도메인 이름을 추론하려고 시도합니다. 그러나, 도메인 이름을 추론하는 것은 항상 정확하지는 않습니다.

domain-name 옵션을 사용하면 DHCP 클라이언트가 DNS 쿼리를 수행할 때 사용할 도메인 이름을 정확하게 지정할 수 있습니다. 이렇게 하면 DNS 쿼리의 응답 시간을 단축하고, DNS 쿼리의 정확성을 높일 수 있습니다.

domain-name 옵션의 값은 도메인 이름을 지정합니다. 도메인 이름은 FQDN(Fully Qualified Domain Name)을 지정해야 합니다. FQDN은 도메인 이름의 전체 이름을 나타냅니다. 예를 들어, example.com은 FQDN입니다.

domain-name 옵션은 다음과 같이 사용됩니다.

dhcp-option=15,example.com  

이 설정은 DHCP 클라이언트가 DNS 쿼리를 수행할 때 사용할 도메인 이름을 example.com으로 설정합니다.


[dnsmasq] tftp, dhcp, pxe-serivice

enable-tftp
tftp-root=/srv/tftpboot
port=0
pxe-service=0,"pxeboot"

암호화 + base64 하고 쉘스크립트.

 #!/bin/bash # IV와 UserKey를 설정합니다 (아스키 문자열을 그대로 사용). IV="0123456789abcdef"  UserKey="0123456789abcdef" # IV와 UserKey를 16...