Jump to: navigation, search

USB Internet

898 bytes added, 10:37, 19 August 2019
<syntaxhighlight lang="shell-session">
$ sudo route add default gw
$ sudo echo nameserver 880.880.880.8 80 | sudo tee /etc/resolv.confSubstitute 880.880.880.8 80 for your own internal DNS server if you want.
To make the configuration persistent after reboot do:
$ sudo chmod +x /etc/local.d/usb_internet.start
$ sudo rc-update add local
$ #disable it if you plug the USB cable out and want to use WiFi, because it can interfere with routing (packets would try to use the USB networking, even though it's disconnected)
==== On the host machine: ====
===== Ubuntu/ Arch =====
<syntaxhighlight lang="shell-session">
$ echo 1 | sudo tee /proc/sys/sysctl net/.ipv4/.ip_forward > /dev/null=1
$ sudo iptables -P FORWARD ACCEPT
$ sudo iptables -A POSTROUTING -t nat -j MASQUERADE -s
This will enable IPv4 forwarding on your host machine which basically lets it function as a router. The postrouting command will make the kernel on the host translate the packets between the phone network
and your normal network on the host machine.
===== RHEL/CentOS/Fedora =====
<syntaxhighlight lang="shell-session">
$ sudo sysctl net.ipv4.ip_forward=1
$ sudo firewall-cmd --get-active-zone
$ sudo nmcli connection modify ethX_other external
$ sudo nmcli connection modify ethX_to_phone internal
$ sudo firewall-cmd --get-active-zone
$ sudo firewall-cmd --zone=external --add-masquerade
$ sudo firewall-cmd --zone=external --list-all
$ sudo firewall-cmd --zone=internal --list-all
Use the <code>--permanent</code> and <code>--reload</code> options for a persistent configuration.<ref></ref>
You can now verify the internet connection on your phone by pinging something. If this does not work it means you need to compile the kernel with USB_ETH setting enabled in menuconfig.
== Notes ==
<References />

Navigation menu