The instructions here are useful although the current packages in Arch and Debian repositories do not work with iOS 7 (Trust Loop Bug) but it is still a good starting point to understand how this works.
https://wiki.archlinux.org/index.php/IPhone_Tethering
In order to get iOS 7 support, we need to compile everything from master -- See the attached script for your distribution.
Start usbmuxd: usbmuxd
Create a mount point: mkdir /media/iphone
Mount the device: ifuse /media/iphone
(You can unmount using umount /media/iphone
)
You should now be able to view the contents of your iPhone.
At this point you should reboot so that modules and rules get loaded. After that, I gave up on ArchLinux due to issues getting actual network traffic to go across, so I can't speak for ArchLinux from herein. However I did have success on Raspbian. You should be able to simply plug in your iPhone and see a new interface come up and be able to ping the outside world. Enjoy!
While installing on raspbian My make ran for 2 days until I realized configure is running in infinite loop. I found a similar problem here @ http://www.linuxquestions.org/questions/linux-newbie-8/warning-modification-time-1-3e-08-s-in-the-future-640287/ that stated this was because of Raspbian's incorrect time. After setting the time ' date -s "08/06/2008 15:30" ' as root things worked as charm.