IPtables notes
NAT/DHCP/10.x.x.x
tested with linux2.6.0-pre4
add another interface…
# Add alias to interface on eth0 (to share a single ethernet port) ifconfig eth0:0 10.0.0.1 netmask 255.0.0.0
add routing details
nat/masquerading
# Load the NAT module (this pulls in all the others). modprobe iptable_nat # In the NAT table (-t nat), Append a rule (-A) after routing # (POSTROUTING) for all packets going out eth0 (-o eth0) which says to # MASQUERADE the connection (-j MASQUERADE). iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE
(or source nat…)
iptables -t nat -A POSTROUTING -o eth0 -j SNAT --to 192.168.254.x
# Turn on IP forwarding echo 1 > /proc/sys/net/ipv4/ip_forward # Forward between ports if not using aliases iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT
and configure dhcp…
# Sample /etc/dhcpd.conf default-lease-time 600000; max-lease-time 7200000; subnet 10.0.0.0 netmask 255.0.0.0 { range 10.0.0.2 10.0.0.254; option subnet-mask 255.0.0.0; option broadcast-address 10.0.0.255; option routers 10.0.0.1; option domain-name-servers 195.238.2.21, 195.238.2.22; } host wonk { hardware ethernet 08:00:2b:4c:59:23; fixed-address 10.0.0.22; }
start dhcp server…
on GNU Linux
# test it first with "/usr/sbin/dhcpd eth0:0 -d -f" /usr/sbin/dhcpd eth0:0
# test it first with"/usr/sbin/dhcpd -d en0" /usr/sbin/dhcpd en0
programming/tuning notes
- see also Socket Programming
- realtime UDP > http://www.rts.uni-hannover.de/rtnet/
- tuning TCP for perfomance > http://dsd.lbl.gov/TCP-tuning/TCP-tuning.html