LinuxForum.Fans
Тема

DHCP сервер и NetFilter

Автор: shurik_7866 9 сообщений 2418 просмотров
#291891

Ось - CentOS 5.8

Установил и настроил DHCP сервер. Все работает.

Но беспокоит одна вещь - DHCP сервак принимает запросы от клиентов по порту UDP 67, а он закрыт в NetFilter - для цепочки INPUT стандартная директива DROP и для 67 порта не ни какого правила.
Проверил что бы убедиться с помощью telnet из клиентской машины под Windows, по 67 порту не пускает
telnet 192.168.0.101 67


Возникает вопрос - Как DHCP сервак (dhcpd) умудряется принимать запросы от клиентов?

! и интересный момент - в инете нет вообще инфы по настройке NetFilter для DHCP сервера

#291893

с помощью telnet-а вы не можете проверить udp-соединения, только tcp
Если в правилах фаервола есть запрещение всех пакетов, то все пакеты будут запрещаться. Если есть разрешающие правила для каких-либо пакетов, то эти самые пакеты будут разрешаться. Другими словами - фаервол выполняет инструкции. Как и dhcp-сервер :) Сами они ничего делать не могут
Имхо, фаервол разрешает dhcp-пакеты (настроены соответствующие правила)

! и интересный момент - в инете нет вообще инфы по настройке NetFilter для DHCP сервера

http://lmgtfy.com/?q=dhcp+iptables+rules

#291895
afanasev.p написал:
с помощью telnet-а вы не можете проверить udp-соединения, только tcp
Если в правилах фаервола есть запрещение всех пакетов, то все пакеты будут запрещаться. Если есть разрешающие правила для каких-либо пакетов, то эти самые пакеты будут разрешаться. Другими словами - фаервол выполняет инструкции. Как и dhcp-сервер :) Сами они ничего делать не могут
Имхо, фаервол разрешает dhcp-пакеты (настроены соответствующие правила)

! и интересный момент - в инете нет вообще инфы по настройке NetFilter для DHCP сервера

http://lmgtfy.com/?q=dhcp+iptables+rules

Вот ниже привожу содержимое файла /etc/sysconfig/iptables
Может кто подскажет где именно в нем разрешение для порта UDP 67





# Generated by iptables-save v1.3.5 on Mon Dec 17 10:23:24 2012
*filter
:INPUT DROP [115:14499]
:FORWARD DROP [0:0]
:OUTPUT ACCEPT [1682:3934512]
:RH-Firewall-1-INPUT - [0:0]
-A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
-A INPUT -i lo -j ACCEPT
-A INPUT -p tcp -m tcp --dport 22 -j ACCEPT
-A INPUT -p icmp -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 137 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p udp -m udp --dport 138 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 139 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 445 -m state --state NEW -j ACCEPT
-A INPUT -s 192.168.0.0/255.255.255.0 -p tcp -m tcp --dport 901 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 20 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 21 -j ACCEPT
-A INPUT -p tcp -m state --state NEW -m tcp --dport 64000:65535 -j ACCEPT
-A FORWARD -s 192.168.0.0/255.255.255.0 -i eth1 -o eth0 -j ACCEPT
-A FORWARD -d 192.168.0.0/255.255.255.0 -i eth0 -o eth1 -j ACCEPT
COMMIT
# Completed on Mon Dec 17 10:23:24 2012
# Generated by iptables-save v1.3.5 on Mon Dec 17 10:23:24 2012
*nat
:PREROUTING ACCEPT [319:18442]
:POSTROUTING ACCEPT [210:17059]
:OUTPUT ACCEPT [210:17059]
-A PREROUTING -p tcp -m tcp --dport 1022 -j REDIRECT --to-ports 22
-A PREROUTING -p tcp -m tcp --dport 22 -j REDIRECT --to-ports 1022
-A POSTROUTING -s 192.168.0.0/255.255.255.0 -o eth0 -j SNAT --to-source 82.144.201.71
COMMIT
# Completed on Mon Dec 17 10:23:24 2012
# Generated by iptables-save v1.3.5 on Mon Dec 17 10:23:24 2012
*mangle
:PREROUTING ACCEPT [8699:7744031]
:INPUT ACCEPT [1838:3966656]
:FORWARD ACCEPT [6859:3776751]
:OUTPUT ACCEPT [1700:3959928]
:POSTROUTING ACCEPT [8687:7755449]
COMMIT
# Completed on Mon Dec 17 10:23:24 2012

#291896

Не плохо бы ещё сами настройки dhcp-сервера увидеть.
P.S. А не может вам «помогать» что-либо вроде Avahi?

#291897
Lupo Alberto написал:
Не плохо бы ещё сами настройки dhcp-сервера увидеть.
P.S. А не может вам «помогать» что-либо вроде Avahi?

Отключил avahi-daemon, все равно dhcpd принимает запросы от клиентов

Конфигурационный файл сервиса dhcpd /etc/dhcpd.conf

ddns-update-style interim;
ignore client-updates;
authoritative;

subnet 192.168.0.0 netmask 255.255.255.0 {
range 192.168.0.140 192.168.0.160;

option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.101;
option domain-name-servers 82.144.192.130;
option ip-forwarding off;
option ntp-servers 82.144.192.130;
# option domain-name "my_dom.kiev.ua";

default-lease-time 86400;
max-lease-time 172800;

# host alex-sv{
# hardware ethernet 00:1D:72:1C:87:A7;
# fixed-address 192.168.0.17;
# option domain-name-servers 82.144.192.130, 82.144.192.131;
# option host-name "alex-cl";
# }
}

host alex-sv{
hardware ethernet 00:1D:72:1C:87:A7;
fixed-address 192.168.0.17;

option subnet-mask 255.255.255.0;
option broadcast-address 192.168.0.255;
option routers 192.168.0.101;
option domain-name-servers 82.144.192.130, 82.144.192.131;
option ip-forwarding off;
option ntp-servers 82.144.192.130;
# option domain-name "my_dom.kiev.ua";
option host-name "alex-cl";
}

#291900

Вывод команд iptables -nvL --line-numbers && iptables -nvL --line-numbers -t nat && netstat -lnp был бы интереснее. Мб всё таки есть правила, разрешающие dhcp?

#291925
afanasev.p написал:
Вывод команд iptables -nvL --line-numbers && iptables -nvL --line-numbers -t nat && netstat -lnp был бы интереснее. Мб всё таки есть правила, разрешающие dhcp?

$iptables -nvL --line-numbers && iptables -nvL --line-numbers -t nat && netstat -lnp

Chain INPUT (policy DROP 81 packets, 11507 bytes)
num pkts bytes target prot opt in out source destination
1 1929 4020K ACCEPT all -- * * 0.0.0.0/0 0.0.0.0/0 state RELATED,ESTABLISHED
2 155 10652 ACCEPT all -- lo * 0.0.0.0/0 0.0.0.0/0
3 1 48 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22
4 1 60 ACCEPT icmp -- * * 0.0.0.0/0 0.0.0.0/0
5 61 5550 ACCEPT udp -- * * 192.168.0.0/24 0.0.0.0/0 udp dpt:137 state NEW
6 28 6344 ACCEPT udp -- * * 192.168.0.0/24 0.0.0.0/0 udp dpt:138 state NEW
7 4 192 ACCEPT tcp -- * * 192.168.0.0/24 0.0.0.0/0 tcp dpt:139 state NEW
8 4 192 ACCEPT tcp -- * * 192.168.0.0/24 0.0.0.0/0 tcp dpt:445 state NEW
9 0 0 ACCEPT tcp -- * * 192.168.0.0/24 0.0.0.0/0 tcp dpt:901
10 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:20
11 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpt:21
12 0 0 ACCEPT tcp -- * * 0.0.0.0/0 0.0.0.0/0 state NEW tcp dpts:64000:65535

Chain FORWARD (policy DROP 0 packets, 0 bytes)
num pkts bytes target prot opt in out source destination
1 1697 317K ACCEPT all -- eth1 eth0 192.168.0.0/24 0.0.0.0/0
2 1727 992K ACCEPT all -- eth0 eth1 0.0.0.0/0 192.168.0.0/24

Chain OUTPUT (policy ACCEPT 2257 packets, 4115K bytes)
num pkts bytes target prot opt in out source destination

Chain RH-Firewall-1-INPUT (0 references)
num pkts bytes target prot opt in out source destination
Chain PREROUTING (policy ACCEPT 186 packets, 10853 bytes)
num pkts bytes target prot opt in out source destination
1 1 48 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:1022 redir ports 22
2 0 0 REDIRECT tcp -- * * 0.0.0.0/0 0.0.0.0/0 tcp dpt:22 redir ports 1022

Chain POSTROUTING (policy ACCEPT 227 packets, 17146 bytes)
num pkts bytes target prot opt in out source destination
1 164 7923 SNAT all -- * eth0 192.168.0.0/24 0.0.0.0/0 to:82.144.201.71

Chain OUTPUT (policy ACCEPT 227 packets, 17146 bytes)
num pkts bytes target prot opt in out source destination
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 127.0.0.1:2208 0.0.0.0:* LISTEN 2532/./hpiod
tcp 0 0 0.0.0.0:2049 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:901 0.0.0.0:* LISTEN 2572/xinetd
tcp 0 0 0.0.0.0:139 0.0.0.0:* LISTEN 2757/smbd
tcp 0 0 0.0.0.0:45967 0.0.0.0:* LISTEN -
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN 2269/portmap
tcp 0 0 0.0.0.0:21 0.0.0.0:* LISTEN 2663/vsftpd
tcp 0 0 0.0.0.0:693 0.0.0.0:* LISTEN 2634/rpc.mountd
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 2550/sshd
tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 2559/cupsd
tcp 0 0 0.0.0.0:791 0.0.0.0:* LISTEN 2305/rpc.statd
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN 2692/sendmail
tcp 0 0 0.0.0.0:665 0.0.0.0:* LISTEN 2605/rpc.rquotad
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 2757/smbd
tcp 0 0 127.0.0.1:2207 0.0.0.0:* LISTEN 2537/python
tcp 0 0 :::22 :::* LISTEN 2550/sshd
udp 0 0 0.0.0.0:2049 0.0.0.0:* -
udp 0 0 82.144.201.71:137 0.0.0.0:* 2760/nmbd
udp 0 0 192.168.0.101:137 0.0.0.0:* 2760/nmbd
udp 0 0 0.0.0.0:137 0.0.0.0:* 2760/nmbd
udp 0 0 82.144.201.71:138 0.0.0.0:* 2760/nmbd
udp 0 0 192.168.0.101:138 0.0.0.0:* 2760/nmbd
udp 0 0 0.0.0.0:138 0.0.0.0:* 2760/nmbd
udp 0 0 0.0.0.0:785 0.0.0.0:* 2305/rpc.statd
udp 0 0 0.0.0.0:788 0.0.0.0:* 2305/rpc.statd
udp 0 0 0.0.0.0:662 0.0.0.0:* 2605/rpc.rquotad
udp 0 0 0.0.0.0:43046 0.0.0.0:* 2805/avahi-daemon
udp 0 0 0.0.0.0:690 0.0.0.0:* 2634/rpc.mountd
udp 0 0 0.0.0.0:67 0.0.0.0:* 2674/dhcpd
udp 0 0 0.0.0.0:68 0.0.0.0:* 2066/dhclient
udp 0 0 0.0.0.0:50888 0.0.0.0:* -
udp 0 0 0.0.0.0:5353 0.0.0.0:* 2805/avahi-daemon
udp 0 0 0.0.0.0:111 0.0.0.0:* 2269/portmap
udp 0 0 0.0.0.0:631 0.0.0.0:* 2559/cupsd
udp 0 0 :::5353 :::* 2805/avahi-daemon
udp 0 0 :::45564 :::* 2805/avahi-daemon
raw 0 0 0.0.0.0:1 0.0.0.0:* 7 2674/dhcpd
Active UNIX domain sockets (only servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 2 [ ACC ] STREAM LISTENING 5776 1787/iscsid @ISCSIADM_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM LISTENING 9055 2748/xfs /tmp/.font-unix/fs7100
unix 2 [ ACC ] STREAM LISTENING 9531 2886/gdm-binary /tmp/.gdm_socket
unix 2 [ ACC ] STREAM LISTENING 9581 2920/Xorg /tmp/.X11-unix/X0
unix 2 [ ACC ] STREAM LISTENING 9681 2926/gam_server @/tmp/fam-root-
unix 2 [ ACC ] STREAM LISTENING 6272 2181/audispd /var/run/audispd_events
unix 2 [ ACC ] STREAM LISTENING 6784 2355/dbus-daemon /var/run/dbus/system_bus_socket
unix 2 [ ACC ] STREAM LISTENING 9001 2710/gpm /dev/gpmctl
unix 2 [ ACC ] STREAM LISTENING 6854 2370/sdpd /var/run/sdp
unix 2 [ ACC ] STREAM LISTENING 6937 2427/pcscd /var/run/pcscd.comm
unix 2 [ ACC ] STREAM LISTENING 6962 2437/acpid /var/run/acpid.socket
unix 2 [ ACC ] STREAM LISTENING 8371 2559/cupsd /var/run/cups/cups.sock
unix 2 [ ACC ] STREAM LISTENING 5760 1780/iscsiuio @ISCSID_UIP_ABSTRACT_NAMESPACE
unix 2 [ ACC ] STREAM LISTENING 9231 2805/avahi-daemon /var/run/avahi-daemon/socket
unix 2 [ ACC ] STREAM LISTENING 6988 2446/hald @/var/run/hald/dbus-mM3EH45GY4
unix 2 [ ACC ] STREAM LISTENING 6987 2446/hald @/var/run/hald/dbus-kv13tEtfNq

#291959

dhcp запросы от клиентов по широковещательному а ответ по 67.
Сделайте OUTPUT -J DROP тогда и глянем.

#292005
Kettler написал:
dhcp запросы от клиентов по широковещательному а ответ по 67.
Сделайте OUTPUT -J DROP тогда и глянем.

Неправильно, ответ от DHCP сервера клиентам по UDP 68. Но в любом случае входящие и по 67 и по 68 портах не разрешены

Войдите или зарегистрируйтесь, чтобы ответить.