我正在创建一个新的码头容器,以便在Gentoo操作系统中运行OpenVpn。为此,我需要配置带有tun/tap模块的内核,并安装它:
cd /usr/src/linux
做菜单配置
设备驱动程序->网络设备支持->
*网络设备支持
必须启用通用TUN/TAP设备驱动程序支持//此选项
cd /usr/src/linux make & make &make modules_install
现在,我需要在容器中安装这个内核,并继续安装openVPN,但不知道我是如何做到的。
有什么建议吗?
谢谢
我想要一个Linux中的虚拟以太网设备,它可以像普通的以太网设备那样响应,但是我可以在软件中连接到它。我试图使用以下命令生成虚拟设备:
ip link del dummy99
ip link add dummy99 type dummy
ifconfig dummy99 hw ether C8:55:44:33:22:11
ifconfig dummy99 192.168.99.1 up
这就创建了一个设备,我可以将pings发送到192.168.99.2,它们被寻址到我将这个端口设置为的相同的MAC地址,而不是向dummy99发送一个ARP请求。
我如何使Linux假设有一个连接到dummy
我试着用DNAT做实验。我找到了一个教程这里。其中包括以下一句:
这是在PREROUTING链中完成的,就像数据包进来时一样;这意味着Linux盒本身上的任何其他东西(路由、数据包过滤)都会看到数据包到达它的“真实”目的地。
我想问作者最后一部分,即anything else on the Linux box itself will see the packet going to its 'real' destination是什么意思?
我尝试了一个测试,其中我有一个虚拟设备( tap ),我将传入的ICMP数据包重定向到那个tap设备(我的tap设备地址是10.0.4.1/2
我正在开发一个应用程序,它可以在主机上创建TUN/TAP界面。我可以使用以下方法创建这样的接口:
sudo ip tuntap add tap0 mode tap
现在问题是,tap0在这里是硬编码的。应该是动态的。
当我创建下一个点击设备时,应该是tap1等等。
现在,当我开始给设备的范围,我可以手动这样做:
sudo ip addr add 172.16.0.1/24 dev tap0
现在,当我创建tap1时,我不想重叠ip。
有什么简单的方法来管理这些水龙头设备吗?
我尝试在Ubuntu16.04上安装tun,它生成tun.ko,但仍然不能工作。
1
Uname -a Linux主机-名称4.10.0-42-通用#46~16.04.1-Ubuntu Dec 4 15:57:59 UTC 2017 UTC x86_64 GNU/Linux
2
apt-获取安装linux-源代码-4.10.0
3.
cd /usr/src/linux-源代码-4.10.0menuconfig->设备驱动程序->网络设备支持>通用TUN/TAP设备驱动程序支持
然后将其保存为tun.config。
4.
使模块生成/ tun.ko /
我使用以下命令创建了一个抽头设备:
sudo ip tuntap add mode tap tap7
sudo ip link set tap7 up
sudo ip addr add 77.0.0.1/24 dev tap7
现在,我正在使用c++套接字编程将数据包写入tap7,并且当它侦听tap7接口时,我能够用wireshark捕获它们。
我需要的是创建一个规则,即写入tap7的任何数据包都应该重定向到ip 127.0.0.1。
我尝试了以下命令:
sudo iptables -A PREROUTING -t nat -i tap7 -j DNAT --to 127.0.0.1
sud
我正在我的Mac上运行Linux上的VMware融合。在Linux上,我使用基于TAP设备的TCP服务器(称为PicoTCP,这里的链接:https://github.com/tass-belgium/picotcp)。我在一个终端窗口上使用以下命令:sudo ./build/test/picoapp.elf --tap tap1:192.168.13.37:255.255.255.0 --app tcpecho:8000运行回显服务器,然后我可以使用命令:sudo ip addr add 192.168.13.38/24 dev tap1 ; sudo ip link set tap1 up
我正在玩ovs-dpdk包,有一件事我不太清楚,那就是我如何才能让OVS桥和连接到它的‘m访问外部,即。连接到网络。在常规的openvswitch上,vswitch创建的网桥设备在linux中是可见的,并且可以通过常规工具(ifconfig,ethtool等)进行配置,因此我可以创建TAP接口并将其添加到vswitch网桥接口,并分配网桥接口IP地址。然而,对于ovs-dpdk,情况并非如此:任何使用ovs-vsctl创建的桥在用户空间linux中都是不可用的,至少我在ifconfig或"ip link show“中看不到它。
有没有其他方法OVS-DPDK可以做到这一点?希望有人能为
我在命令行上创建了一个现有的tap设备(tap0)。 # ip tuntap add dev tap0 mode tap 我想使用C程序读取该接口上传入的任何数据。我检查了其他SO问题,但发现通过打开/dev/net/tun来创建界面的代码。 有人能提供一些关于如何打开和读取现有界面的指导吗?我不确定应该为tap0打开哪个文件?
在Linux上,使用C语言,如何找到连接以太网接口的桥接设备的名称?是否需要进行一系列ioctl()调用才能找到主桥接设备?
我的C程序从配置文件(在本例中是tap0)中知道我的TAP适配器的设备名称。最终,我需要我的TAP适配器响应的IP地址。因为它是桥接的,所以TAP适配器没有IP地址;具有IP地址的是bridge设备。
我有一个抽水装置和VETH装置连接在一起。ip a显示了以下内容:
1: lo: <LOOPBACK> mtu 65536 qdisc noop state DOWN group default
link/loopback 00:00:00:00:00
我正在运行CentOS 7。
首先,我创建了一个点击设备:
ip tuntap add dev tap2 mode tap
然后我给它分配了ipv6地址:
ip -6 addr add dev tap2 fd00:4::1/64
ip link set tap2 up
从ip addr生成的状态显示:
tap2: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN mode DEFAULT qlen 500
link/ether fe:ea:2b:e0:c3:08 brd ff:ff:ff
我正在尝试使用连接多个am。VM位于两个独立的物理盒上。以下是我所做的:
在一个物理主机 sudo ip tuntap add mode tap tap0上创建了两个抽头设备,并为tap1创建了相同的设备
把他们带上来 sudo ip link set tap0 up
将它们作为端口添加到Open vSwitch (br0以前是作为OVS桥创建的) sudo ovs-vsctl add-port br0 tap0 tag=1
现在我引导VM(使用VirtualBox)并分配地址192.168.122.11和192.168.122.12。现在,当我试图从另一个VM中选择一个VM时,我得到了错误
lsmod -> tun 16587 0-Live0xbf0e1000
Openvpn错误:无法打开TUN/TAP dev /dev/net/tun没有这样的文件或目录
我尝试创建一个虚拟目录,但错误更改为无法打开TUN/TAP dev /dev/net/tun:是一个目录。
编辑: System: ARM Linux 3.10.0
📷
按照这指南设置macvtap非常有效。导游的摘录如下:
# ip link add link eth1 name macvtap0 type macvtap
# ip link set macvtap0 address 1a:46:0b:ca:bc:7b up
# ip link show macvtap0
然后,指南继续解释说,你可以:
#qemu-system-x86_64 -net nic,model=virtio,addr=1a:46:0b:ca:bc:7b -net tap,fd=3 3<>/dev/tap11
如果你的macvtap最终出现在/dev/tap11上,那就