portfwd.sh 920 B

1234567891011121314151617181920212223242526272829303132
  1. #!/bin/sh
  2. #
  3. del_portfwd () {
  4. DESTPORT=$1
  5. DESTIP=$2
  6. SRCPORT=$3
  7. SRCIP=$4
  8. SRCIFACE=$5
  9. iptables -t nat -D PREROUTING -p tcp -i $SRCIFACE --dport $SRCPORT -j DNAT --to-destination $DESTIP:$DESTPORT 2> /dev/null
  10. iptables -D FORWARD -p tcp -d $SRCIP --dport $SRCPORT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT 2> /dev/null
  11. }
  12. set_portfwd () {
  13. DESTPORT=$1
  14. DESTIP=$2
  15. SRCPORT=$3
  16. SRCIP=$4
  17. SRCIFACE=$5
  18. del_portfwd $1 $2 $3 $4 $5
  19. iptables -t nat -A PREROUTING -p tcp -i $SRCIFACE --dport $SRCPORT -j DNAT --to-destination $DESTIP:$DESTPORT
  20. iptables -A FORWARD -p tcp -d $SRCIP --dport $SRCPORT -m state --state NEW,ESTABLISHED,RELATED -j ACCEPT
  21. }
  22. set_portfwd 80 192.168.0.100 81 192.168.7.2 usb0
  23. set_portfwd 80 192.168.0.100 81 `ifconfig eth0 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'` eth0
  24. set_portfwd 80 192.168.0.100 81 `ifconfig tun5 2>/dev/null|awk '/inet addr:/ {print $2}'|sed 's/addr://'` tun5