Onryo

IP Binding for Linux script

Sep 6th, 2011
313
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.68 KB | None | 0 0
  1. ########################################################################
  2. # This script will get your VPN IP address from tun0 and then bind     #
  3. # your LAN to your VPN address using iptables. Uncomment the right LAN #
  4. # for what you are using. If you have a static IP enter that.          #
  5. # The iptables are flushed so VPN ips can be changed                   #
  6. # Onryo aka Erik Adler                                                 #
  7. ########################################################################
  8.  
  9. #!/bin/bash
  10.  
  11. #Set variables
  12. IPT=/sbin/iptables
  13. VPN=$(/sbin/ifconfig tun0 | awk '/inet addr/ {print substr($2, 6)}')
  14. LAN1=192.168.0.0/16
  15. ## LAN2=10.0.0.0/8
  16. ## LAN3=172.16.0.0/12
  17.  
  18. #Flush all rules
  19. $IPT -F
  20. $IPT -X
  21. $IPT -t nat -F
  22. $IPT -t nat -X
  23. $IPT -t mangle -F
  24. $IPT -t mangle -X
  25. $IPT -P INPUT ACCEPT
  26. $IPT -P FORWARD ACCEPT
  27. $IPT -P OUTPUT ACCEPT
  28.  
  29. echo "You are locked to VPN" $VPN
  30.  
  31. #Default policies and define chains
  32. $IPT -P OUTPUT DROP
  33. $IPT -P INPUT DROP
  34. $IPT -P FORWARD DROP
  35.  
  36. #Allow input from LAN and tun0 ONLY
  37. $IPT -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
  38. $IPT -A INPUT -i lo -j ACCEPT
  39. $IPT -A INPUT -i tun0 -m conntrack --ctstate NEW -j ACCEPT
  40. $IPT -A INPUT -s $LAN1 -m conntrack --ctstate NEW -j ACCEPT
  41. ## $IPT -A INPUT -s $LAN2 -m conntrack --ctstate NEW -j ACCEPT
  42. ## $IPT -A INPUT -s $LAN3 -m conntrack --ctstate NEW -j ACCEPT
  43. $IPT -A INPUT -j DROP
  44.  
  45. #Allow output from lo and tun0 ONLY
  46. $IPT -A OUTPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
  47. $IPT -A OUTPUT -o lo -j ACCEPT
  48. $IPT -A OUTPUT -o tun0 -m conntrack --ctstate NEW -j ACCEPT
  49. $IPT -A OUTPUT -d $VPN -m conntrack --ctstate NEW -j ACCEPT
  50. $IPT -A OUTPUT -j DROP
  51. exit 0
Advertisement
Add Comment
Please, Sign In to add comment