こんにちは 竹村と申します。 ルータ兼DHCPサーバとして動作させているPC1と DHCPクライアントのPC2を以下のように接続して います。 PC1でiptablesによりパケットをすべて破棄している つもりなのですが、なぜかPC2からのDHCPリクエスト に対してPC1がDHCPサーバとしてPC2にIPアドレスの 割り当てを行っています。 ----------------- ----------------- | | | | | PC1 |----------------| PC2 | | | | | ----------------- ----------------- eth0 eth1 eth0 172.16.xxx.xxx 192.168.1.1 PC1側では以下のとおり設定しています。 #iptables -F #iptables -F -t nat #iptables -X #iptables -X -t nat #iptables -P INPUT DROP #iptables -P OUTPUT DROP #iptables -P FORWARD DROP #cat /etc/dhcpd.conf ddns-update-style interim; subnet 192.168.1.0 netmask 255.255.255.0 { option routers 192.168.1.1; option subnet-mask 255.255.255.0; range dynamic-bootp 192.168.1.5 192.168.1.10; default-lease-time 21600; max-lease-time 43200; } #cat /etc/sysconfig/dhcpd DHCPDARGS=eth1 以上の設定でPC2のネットワークを起動するとPC2のeth0には 結果的に192.168.1.10というIPアドレスが割り当てられます。 このときのPC1でのtcpdumpの出力は以下のとおりです。 #tcpdump -v -i eth1 16:37:50.287760 IP (tos 0x0, ttl 64, id 24883, offset 0, flags [none], length: 576) 0.0.0.0.bootpc > 255.255.255.255.bootps: B OOTP/DHCP, Request from 00:d0:b7:7d:9a:4a, length: 548, xid:0x285b4c64, secs:10, flags: [none] Client Ethernet Address: 00:d0:b7:7d:9a:4a [|bootp] 16:37:50.312040 IP (tos 0x10, ttl 16, id 0, offset 0, flags [none], length: 328) 192.168.1.1.bootps > 192.168.1.10.bootpc: BOO TP/DHCP, Reply, length: 300, xid:0x285b4c64, secs:10, flags: [none] Your IP: 192.168.1.10 Server IP: 192.168.1.1 Client Ethernet Address: 00:d0:b7:7d:9a:4a [|bootp] 16:37:50.312965 arp reply 192.168.1.10 is-at 00:d0:b7:7d:9a:4a 最終的には、iptablesでDHCPを含めて必要なパケットのみ 通過させるように設定するつもりなので、DHCPクライアントには IPアドレスが割り当てられる必要があるのですが、何故現状で パケットが破棄されないのかがわかりません。 何か勘違いをしているのかも知れませんが、理由をご存知の方 よろしくお願いいたします。