All pastes #520819 Raw Edit

Mine

public text v1 · immutable
#520819 ·published 2007-05-30 01:17 UTC
rendered paste body
#!/bin/bash
IP=$1
HLAN="192.168.1.0/24"

iptables -F
iptables -t nat -F
iptables -t mangle -F

iptables -P INPUT DROP
iptables -P FORWARD DROP
iptables -P OUTPUT ACCEPT
iptables -A INPUT -i lo -j ACCEPT 
iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A INPUT -s 192.168.1.0/255.255.255.0 -i eth1 -p tcp -m tcp --dport 22 -j ACCEPT 
iptables -A INPUT -s ! 192.168.1.0/255.255.255.0 -p tcp -m tcp --dport 22 -j DROP 
iptables -A INPUT -p icmp -j ACCEPT 
iptables -A INPUT -i eth1 -p udp -m udp --dport 53 -j ACCEPT 
iptables -A INPUT -i eth1 -p tcp -m tcp --dport 53 -j ACCEPT 
iptables -A INPUT -i eth2 -p udp -m udp --dport 53 -j ACCEPT 
iptables -A INPUT -i eth2 -p tcp -m tcp --dport 53 -j ACCEPT 
iptables -A INPUT -i eth3 -p udp -m udp --dport 53 -j ACCEPT 
iptables -A INPUT -i eth3 -p tcp -m tcp --dport 53 -j ACCEPT 
iptables -A INPUT -d $IP -p udp -m state --state ESTABLISHED -m udp --sport 53 -j ACCEPT 
iptables -A INPUT -d $IP -p tcp -m tcp --sport 53 -m state --state ESTABLISHED -j ACCEPT 
iptables -A INPUT -i eth1 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT 
iptables -A INPUT -i eth2 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT 
iptables -A INPUT -i eth3 -p udp -m udp --sport 67:68 --dport 67:68 -j ACCEPT 
iptables -A INPUT -p tcp -m tcp --sport 1024:65535 --dport 1024:65535 -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A FORWARD -i eth1 -o eth0 -j ACCEPT 
iptables -A FORWARD -i eth2 -o eth0 -j ACCEPT 
iptables -A FORWARD -i eth3 -o eth1 -j ACCEPT 
iptables -A FORWARD -i eth1 -o eth3 -j ACCEPT 
iptables -A FORWARD -m state --state RELATED,ESTABLISHED -j ACCEPT 
iptables -A FORWARD -m mark --mark 0x2 -j ACCEPT 

# Mark the port forwarding for the forward set
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 8080 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 22 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 3389 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 4000 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p udp -m udp --dport 4000 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 6112:6114 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p udp -m udp --dport 6112:6114 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 7777:7789 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p udp -m udp --dport 7777:7789 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 27900 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p udp -m udp --dport 27900 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p tcp -m tcp --dport 42292 -j MARK --set-mark 0x2 
iptables -t mangle -A PREROUTING -d $IP -p udp -m udp --dport 42292 -j MARK --set-mark 0x2 

# DNAT the forwarded ports
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 8080 -j DNAT --to-destination 192.168.1.6 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 22 -j DNAT --to-destination 192.168.1.6 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 3389 -j DNAT --to-destination 192.168.1.5 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 4000 -j DNAT --to-destination 192.168.1.5 
iptables -t nat -A PREROUTING -d $IP -p udp -m udp --dport 4000 -j DNAT --to-destination 192.168.1.5 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 6112:6114 -j DNAT --to-destination 192.168.1.5 
iptables -t nat -A PREROUTING -d $IP -p udp -m udp --dport 6112:6114 -j DNAT --to-destination 192.168.1.5 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 7777:7789 -j DNAT --to-destination 192.168.1.7 
iptables -t nat -A PREROUTING -d $IP -p udp -m udp --dport 7777:7789 -j DNAT --to-destination 192.168.1.7 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 27900 -j DNAT --to-destination 192.168.1.7 
iptables -t nat -A PREROUTING -d $IP -p udp -m udp --dport 27900 -j DNAT --to-destination 192.168.1.7 
iptables -t nat -A PREROUTING -d $IP -p tcp -m tcp --dport 42292 -j DNAT --to-destination 192.168.1.7 
iptables -t nat -A PREROUTING -d $IP -p udp -m udp --dport 42292 -j DNAT --to-destination 192.168.1.7 

# Output for external IP usage from the LAN
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 22 -j DNAT --to-destination 192.168.1.6
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 8080 -j DNAT --to-destination 192.168.1.6
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 3389 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 4000 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A OUTPUT -d $IP -p udp --dport 4000 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 6112:6114 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A OUTPUT -d $IP -p udp --dport 6112:6114 -j DNAT --to-destination 192.168.1.5
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 7777:7789 -j DNAT --to-destination 192.168.1.7
iptables -t nat -A OUTPUT -d $IP -p udp --dport 7777:7789 -j DNAT --to-destination 192.168.1.7
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 27900 -j DNAT --to-destination 192.168.1.7
iptables -t nat -A OUTPUT -d $IP -p udp --dport 27900 -j DNAT --to-destination 192.168.1.7
iptables -t nat -A OUTPUT -d $IP -p tcp --dport 42292 -j DNAT --to-destination 192.168.1.7
iptables -t nat -A OUTPUT -d $IP -p udp --dport 42292 -j DNAT --to-destination 192.168.1.7

# Postrouting for external IP usage from the LAN
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 22 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 8080 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 3389 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 4000 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p udp --dport 4000 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 6112:6114 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p udp --dport 6112:6114 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 7777:7789 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p udp --dport 7777:7789 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 27900 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p udp --dport 27900 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p tcp --dport 42292 -o eth1 -j SNAT --to-source 192.168.1.1
iptables -t nat -A POSTROUTING -d $IP -s $HLAN -p udp --dport 42292 -o eth1 -j SNAT --to-source 192.168.1.1

# Finish the NAT
iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE