redirect_0.sh 625 B

1234567891011121314151617
  1. #!/bin/bash
  2. HostName="google.com"
  3. HostPort="443"
  4. LocalPort="443"
  5. LocalIf="eth0"
  6. RemoteHost=`curl -o /dev/null -sSL --connect-timeout 5 --retry-delay 3 --retry 5 -w %{remote_ip} "https://${HostName}:${HostPort}"`
  7. [ -n "$RemoteHost" ] || exit 1
  8. Forward=`cat /proc/sys/net/ipv4/ip_forward`
  9. [ "$Forward" != "1" ] && echo "1" >/proc/sys/net/ipv4/ip_forward
  10. iptables -I INPUT -p tcp --dport ${LocalPort} -j ACCEPT
  11. iptables -t nat -A PREROUTING -p tcp -i ${LocalIf} --dport ${LocalPort} -j DNAT --to-destination ${RemoteHost}:${HostPort}
  12. iptables -t nat -I POSTROUTING -d ${RemoteHost} -p tcp --dport ${HostPort} -j MASQUERADE