README: add documentation
parent
d5547c3035
commit
0c4ef661e2
44
README.md
44
README.md
|
@ -1,3 +1,45 @@
|
||||||
|
```
|
||||||
|
|\ /|
|
||||||
|
| \______/ |
|
||||||
|
| ,,,,,,,, |
|
||||||
|
| |||||||| |
|
||||||
|
| |||||||| |
|
||||||
|
| ¯¯¯¯¯¯¯¯ |
|
||||||
|
|__________|
|
||||||
|
\- -/
|
||||||
|
```
|
||||||
|
|
||||||
# EtherCat
|
# EtherCat
|
||||||
|
|
||||||
a tool to interface tap interfaces with stdin and stdout
|
A simple tool written in C that connects a Linux tap interface to stdin and stdout
|
||||||
|
|
||||||
|
## How to build
|
||||||
|
|
||||||
|
- Prerequisites: Linux, C compiler
|
||||||
|
- Might be easily portable to other systems that support tap interfaces, Idk.
|
||||||
|
- Run `./build.sh`
|
||||||
|
- Install by copying to `/usr/local/bin` or just leave it where it is
|
||||||
|
|
||||||
|
## How to use
|
||||||
|
|
||||||
|
Run as root:
|
||||||
|
```
|
||||||
|
ip tuntap add mode tap user USERNAME group GROUPNAME name tapN
|
||||||
|
ip link set tapN up
|
||||||
|
```
|
||||||
|
Run as user:
|
||||||
|
`ethercat tapN`
|
||||||
|
|
||||||
|
## Simple network tunnel:
|
||||||
|
|
||||||
|
Be warned: This will behave as if you had both sides connected with a (slow and less reliable) cable. This is more of a bridge than a regular VPN.
|
||||||
|
If you bridge both sides to a real NIC and you have DHCP servers on both networks, you will end up with two DHCP servers on the same network.
|
||||||
|
|
||||||
|
- Set up a bridge between a physical NIC and the tap interface on one or both sides
|
||||||
|
- Connect a port between the hosts, for example using SSH port forwarding
|
||||||
|
- Make two FIFOs on both hosts (mkfifo)
|
||||||
|
- Use netcat to connect the FIFOs between the hosts through the forwarded port
|
||||||
|
- `nc -l 10000 < fifo1 > fifo2`
|
||||||
|
- `nc localhost 10000 < fifo1 > fifo2`
|
||||||
|
- Start an instance of EtherCat with the other ends of the FIFOs on both hosts
|
||||||
|
- `./ethercat tapN < fifo2 > fifo1`
|
||||||
|
|
Loading…
Reference in New Issue