===== IPtables notes ===== http://www.netfilter.org/ ==== 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 on [[OsX]] or [[BSD]] # 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