Package: iodine
Version: 0.6.0~rc1-2
iodine-client-start launch iodine without '-r' option (-r seems skip raw
UDP mode).
This behavior is not the best for me :
* When raw udp mode is able to work, iodine is not usefull, openvpn can
be used for example
* No route is added to link directly the server, and default route in
tunnelled by iodine, this can be result in a loop.
raw UDP mode rarely works, and when it works, it can make problems.
I propose in my patch to add a option in the configuration file. This
option is set by default to skip the raw UDP mode.
Regards,
--
Jean-Benoist Leger
--- 0/iodine-client-start 2012-05-18 19:22:48.073442937 +0200
+++ 3/iodine-client-start 2012-05-18 19:34:22.883407594 +0200
@@ -102,6 +102,11 @@
the default tunnel MTU is 1024, and if the local DNS server
restricts to 512 byte packets you might need to use an MTU of 220.
+skip_raw_udp_mode
+ Set "-r" option in iodine command line. With this option, iodine
+ does not try to establish a direct UDP socket to the iodine server
+ on port 53. (default: true).
+
continue_on_error
Set if the script should continue even if a command fails.
Use to test script when running as non-root. Defaults to false
@@ -189,6 +194,9 @@
## - if local DNS server restricts to 512 byte packets then use MTU 220
echo "${mtu}" > /dev/null
+## Set it if you want try RAW udp mode
+echo "${skip_raw_udp_mode:=true}" > /dev/null
+
## Set if the script should continue even if a command fails.
## Used to test script when running as non-root.
if [ $(whoami) = root ]; then
@@ -315,7 +323,11 @@
## Bring up DNS tunnel
echo ==== Creating IP-over-DNS tunnel...
-iodine -P "${passwd}" "${subdomain}" || ${continue_on_error}
+if ${skip_raw_udp_mode}; then
+ iodine_opts="${iodine_opts} -r"
+fi
+
+iodine ${iodine_opts} -P "${passwd}" "${subdomain}" || ${continue_on_error}
## Find DNS tunnel interface