Linux tuntap using openssh
Project description
sshtuntap
Linux TUN/TAP using the openssh
and Python3
This package comes with two command line interfaces:
- ssh-tuntap-server
- ssh-tuntap-client
this tutorial show's how to use this project:
Tutorial
Currently only point-to-point (tun)
layer-3 tunneling is supported.
Install
You have to install this package on both client and server.
sudo -H pip3 install sshtuntap
Or
sudo -H pip3 install git+https://github.com/pylover/sshtuntap.git
Bash auto completion
ssh-tuntap-server completion install # On server
ssh-tuntap-client completion install # On client
Open new bash instance to perform changes.
Help?
ssh-tuntap-server --help
ssh-tuntap-client --help
Server setup
The server cli stands for setup network, add, delete and list users. this is just a utility to perform user and tuntap interface management and ip address assignment.
OpenSSH Server
Enable ssh tunneling on the server by editing the
/etc/ssh/sshd_config
and ensure the line:
PermitTunnel yes
Or
PermitTunnel point-to-point
see man 5 sshd_config
for more info.
Restart the ssh server to perform the changes.
service ssh restart
Create Network and systemd service
sudo ssh-tuntap-server install
Or
sudo ssh-tuntap-server install 192.168.22.0/24
you may use uninstall
sub-command to remove systemd service.
sudo ssh-tuntap-server uninstall
Add foo
host
You have to create the server user mannualy (depends on your distro).
Here I'm using ubuntu server 18.04. and assume the server's hostname is
example.com
.
Run these commands on the server:
sudo adduser foo
Then use this command to create /home/foo/.ssh/tuntap.yml
:
sudo ssh-tuntap-server add foo
Client
Client command line stands for fetch host configuration from the server
and perform connection using the ssh -w
.
ssh-copy-id foo@example.com
ssh-tuntap-client setup foo@example.com
Use this to connect:
sudo ssh-tuntap-client connect
Nat
Edit /etc/sysctl.conf
on the server to enable ip forwarding.
net.ipv4.ip_forward = 1
Run sysctl -p
to refresh with the new configuration
sudo sysctl -p
Configure NAT
sudo iptables -tnat -APOSTROUTING -s192.168.22.0/24 -jMASQUERADE
iptables persistency
sudo apt install iptables-persistent netfilter-persistent
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file sshtuntap-2.0.7.tar.gz
.
File metadata
- Download URL: sshtuntap-2.0.7.tar.gz
- Upload date:
- Size: 8.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | a22728096da1409fcedcf3412479f909f093818aa39285100185ee52de33cd5f |
|
MD5 | 07e16ea76f27e9f42b70b432110ac4a9 |
|
BLAKE2b-256 | b20114664e315ad7faa3310adcffc1651826d3a60965c73cb0c94f4142adbf4a |
File details
Details for the file sshtuntap-2.0.7-py3-none-any.whl
.
File metadata
- Download URL: sshtuntap-2.0.7-py3-none-any.whl
- Upload date:
- Size: 9.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.0 CPython/3.10.4
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 883491f0a6c5bb9b52f9660d0f449d52f0a8802b07e40613b2511532170b3a97 |
|
MD5 | 71aaa121187f98842e5290727649b1cc |
|
BLAKE2b-256 | f329c632b76e5967da333bcbb2fca7092361929835530767b5d3e2e27cbf791d |