I hope, someone could point me in the right direction...
I'm trying to build Debian based router. I've intalled Sarge distribution on
3 NIC computer, recompiled kernel from 2.6.14 source.
My desired configuration is:
192.168.0.0/24 network
|
subnet 192.168.0.16/28-> Debian box <- subnet 192.168.0.32/28
Debian has 3 NICs eth0-eth2. eth0 is connected to firewall at 192.168.0.1.
Two other NICs are used to create two subnets and have static IPs
192.168.0.17 and 192.168.0.33 with /28 netmasks respectively. Internet is
accessible through 192.168.0.1.
1. I'd like eth0 to get its IP from DHCP located at 192.168.0.10 on
192.168.0.0/24 network.
2. I want my clients from both subnets to get their IPs from the same DHCP.
3. I want them to see each other and the Internet.
The first is easily accomplished by eth0 configuration in /etc/interfaces
and dhcp client.
The second requires routing DHCP requests from subnets to 192.168.0.0/24
network and back. I seem to have trouble with that: I can see requests on
nat PREROUTING chain but then they dissappear and don't show up in the
FORWARD chain. I did enable forwarding in /proc/sys/net/ipv4/ip_forward.
Here's relevant part of my kernel config:
#
# Networking options
#
CONFIG_PACKET=y
CONFIG_UNIX=y
CONFIG_INET=y
CONFIG_IP_MULTICAST=y
CONFIG_IP_ADVANCED_ROUTER=y
CONFIG_ASK_IP_FIB_HASH=y
CONFIG_IP_FIB_HASH=y
CONFIG_IP_MULTIPLE_TABLES=y
CONFIG_IP_ROUTE_MULTIPATH=y
CONFIG_IP_ROUTE_MULTIPATH_CACHED=y
CONFIG_IP_ROUTE_MULTIPATH_RR=y
CONFIG_IP_ROUTE_MULTIPATH_WRANDOM=y
CONFIG_IP_ROUTE_MULTIPATH_DRR=y
CONFIG_IP_ROUTE_VERBOSE=y
CONFIG_INET_DIAG=y
CONFIG_INET_TCP_DIAG=y
CONFIG_TCP_CONG_BIC=y
#
# IP: Virtual Server Configuration
#
CONFIG_NETFILTER=y
#
# IP: Netfilter Configuration
#
CONFIG_IP_NF_CONNTRACK=y
CONFIG_IP_NF_CT_ACCT=y
CONFIG_IP_NF_CONNTRACK_MARK=y
CONFIG_IP_NF_FTP=m
CONFIG_IP_NF_IRC=m
CONFIG_IP_NF_NETBIOS_NS=m
CONFIG_IP_NF_PPTP=m
CONFIG_IP_NF_IPTABLES=y
CONFIG_IP_NF_MATCH_LIMIT=y
CONFIG_IP_NF_MATCH_IPRANGE=y
CONFIG_IP_NF_MATCH_PKTTYPE=y
CONFIG_IP_NF_MATCH_MARK=y
CONFIG_IP_NF_MATCH_MULTIPORT=y
CONFIG_IP_NF_MATCH_TOS=y
CONFIG_IP_NF_MATCH_STATE=y
CONFIG_IP_NF_MATCH_CONNTRACK=y
CONFIG_IP_NF_MATCH_ADDRTYPE=y
CONFIG_IP_NF_MATCH_CONNMARK=y
CONFIG_IP_NF_FILTER=y
CONFIG_IP_NF_TARGET_LOG=y
CONFIG_IP_NF_NAT=y
CONFIG_IP_NF_NAT_NEEDED=y
CONFIG_IP_NF_TARGET_MASQUERADE=y
CONFIG_IP_NF_TARGET_REDIRECT=y
CONFIG_IP_NF_NAT_IRC=m
CONFIG_IP_NF_NAT_FTP=m
CONFIG_IP_NF_NAT_PPTP=m
.... and result of ip route show:
192.168.0.32/28 dev eth2 proto kernel scope link src 192.168.0.33
192.168.0.16/28 dev eth1 proto kernel scope link src 192.168.0.17
192.168.0.0/24 dev eth0 proto kernel scope link src 192.168.0.6
default via 192.168.0.1 dev eth0
.... and result of packet logging:
Feb 19 19:59:17 localhost kernel: NAT:IN=eth1 OUT=
MAC=ff:ff:ff:ff:ff:ff:00:50:ba:40:0e:8c:08:00 SRC=0.0.0.0
DST=255.255.255.255 LEN=328 TOS=0x00 PREC=0x00 TTL=128 ID=34932 PROTO=UDP
SPT=68 DPT=67 LEN=308
Feb 19 19:59:17 localhost kernel: IN:IN=eth1 OUT=
MAC=ff:ff:ff:ff:ff:ff:00:50:ba:40:0e:8c:08:00 SRC=0.0.0.0
DST=255.255.255.255 LEN=328 TOS=0x00 PREC=0x00 TTL=128 ID=34932 PROTO=UDP
SPT=68 DPT=67 LEN=308
Feb 19 19:59:22 localhost kernel: IN:IN=eth1 OUT=
MAC=ff:ff:ff:ff:ff:ff:00:50:ba:40:0e:8c:08:00 SRC=0.0.0.0
DST=255.255.255.255 LEN=328 TOS=0x00 PREC=0x00 TTL=128 ID=34933 PROTO=UDP
SPT=68 DPT=67 LEN=308
Log prefix NAT: comes from nat PREROUTING chain and IN: - from filter INPUT
chain. I've got nothing in FORWARD chain, otherwise it would be in the log
with prefix FWD:. Why did those packets came to INPUT chain anyway? What am
I missing?
I'd appreciate if somebody could shed some light on this.
Mikhail.
*** Free account sponsored by SecureIX.com ***
*** Encrypt your Internet usage with a free VPN account from
http://www.SecureIX.com ***