AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题

问题[tun](server)

Martin Hope
Christian
Asked: 2021-07-29 23:46:40 +0800 CST

带有 Tap 接口的 QEMU VM 可以看到所有包来自管理程序而不是真实源 IP

  • 0

我已经使用 Alpine Linux 设置了一个非常简单的 Hypervisor,我的 VM 看到所有流量都来自 hypervisor 的 IP。

这也意味着如果 fail2ban 试图阻止攻击,它总是会阻止虚拟机管理程序 IP

如何让 VM 看到真实的 IP 地址,而不仅仅是管理程序的 IP?

接口设置

在 HV ( 192.168.5.5) 上,我有一个br0工作正常的桥接接口

# tun1 setup script on Hypervisor
iptables -t nat -A POSTROUTING -o br0 -j MASQUERADE
iptables -P FORWARD ACCEPT
ip tuntap add dev tap1 mode tap user root
ip link set dev tap1 up
ip link set tap1 master br0

qemu-system-x86_64 [..non related parameters removed ..] \
-device virtio-net-pci,netdev=network0,mac=02:1f:ba:26:d7:56 \
-netdev tap,id=network0,ifname=tap1,script=no,downscript=no

VM 可以访问 Internet,但它看到的所有流量都来自管理程序的 IP。

虚拟机只看到 HV IP

有人甚至试图使用我的服务器进行 DNS 放大攻击(尽管在我的 PFSense 防火墙上阻止了传出) DNS放大攻击

Fail2ban 也阻止了错误的 IP 显示阻塞的 HV ip 的 fail2ban 日志

kvm-virtualization tcpdump alpine qemu tun
  • 1 个回答
  • 379 Views
Martin Hope
vando
Asked: 2016-12-27 07:41:04 +0800 CST

OpenVPN 允许部分用户跳转到局域网中的其他主机

  • 0

所有用户都可以连接到运行 OpenVPN 的主机,但有些用户可以跳转到局域网中的其他主机。例如,foo用户可以访问 host 10.2.0.1/32(运行 OpenVPN 的地方)和 hosts at10.0.0.0/24但bar用户只能访问 host 10.2.0.1/32。

对于两个用户,路由表是相同的

Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.1.1     0.0.0.0         UG    302    0        0 wlan0
10.1.0.0        10.2.0.5        255.255.255.128 UG    0      0        0 tun0
10.2.0.1        10.2.0.5        255.255.255.255 UGH   0      0        0 tun0
10.2.0.5        0.0.0.0         255.255.255.255 UH    0      0        0 tun0

为了生成客户端的密钥,我运行

cd /usr/share/easy-rsa/2.0
source vars
./build-key --batch foo

该/etc/openvpn/server.conf文件有

; server
mode       server
port       1194
proto      udp
dev        tun
keepalive  10 120


; networking
server     10.2.0.0 255.255.255.0
ifconfig   10.2.0.1 255.255.255.0
push       "route 10.1.0.0 255.255.255.128"
ifconfig-pool-persist ipp.txt

服务器是运行 OpenVPN 2.3.11 和 Easy RSA 2.2.2 的 CentOS 7 (x86_64)。

centos routing openvpn tun
  • 1 个回答
  • 188 Views
Martin Hope
ng.newbie
Asked: 2016-12-23 01:18:00 +0800 CST

openvpn - 为什么我的服务器上有 2 个 tun 接口?

  • 0

我刚刚配置了观看我在 Youtube 上找到的这个Hak5 视频。

但困扰我的是为什么我的服务器上有两个 tun 接口?

即——:

tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

tun1      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00  
          inet addr:10.8.0.1  P-t-P:10.8.0.2  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:100 
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

如您所见,它们都具有相同的 inet 地址。

另外为什么我grep openvpn进程我得到两个pids返回给我,这正常吗?

root@ip-VPS:/etc/openvpn# pgrep openvpn
1681
1691

关于为什么会发生这种情况的任何线索?我究竟做错了什么 ?

我的 server.conf 如下:

port 53
proto udp
dev tun
ca ca.crt
cert server.crt
key server.key  # This file should be kept secret
dh dh2048.pem
server 10.8.0.0 255.255.255.0
ifconfig-pool-persist ipp.txt
push "redirect-gateway def1 bypass-dhcp"
push "dhcp-option DNS 8.8.8.8"
push "dhcp-option DNS 8.8.4.4"
keepalive 10 120
comp-lzo
user nobody
group nogroup
persist-key
persist-tun
status openvpn-status.log
verb 3

的输出ps -ef | grep openvpn如下:

root      1185     1  0 04:45 ?        00:00:00 /usr/sbin/openvpn --daemon ovpn-server.orig --status /run/openvpn/server.orig.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.orig.conf --writepid /run/openvpn/server.orig.pid
nobody    1241     1  0 04:45 ?        00:00:00 /usr/sbin/openvpn --daemon ovpn-server --status /run/openvpn/server.status 10 --cd /etc/openvpn --script-security 2 --config /etc/openvpn/server.conf --writepid /run/openvpn/server.pid
root      1577  1517  0 04:48 pts/0    00:00:00 grep --color=auto openvpn
openvpn tun ifconfig
  • 1 个回答
  • 2334 Views
Martin Hope
Dave Bacher
Asked: 2010-02-04 14:26:50 +0800 CST

如何从虚拟 tun0 设备调试路由问题?

  • 2

我有一个程序(由我编写)创建一个 tun0 设备并设置一个路由,以便可以从此设备读取发往 172.16.1.0/24 子网的数据包。我现在正试图朝另一个方向前进,并将数据包写入可以被接收的 tun 设备

我的第一次尝试,只是更改源地址和目标地址以及端口就可以了。我可以运行以下命令:

nc -u -s MY_IP -p 4001 172.16.1.3 4000

我的输入得到回应。

我的第二个努力,实际上是从头开始生成输出数据包,目前失败了。

我可以运行tcpdump -i tun0并查看我编写的数据包:

11:30:14.433489 IP (tos 0x0, ttl 32, id 0, offset 0, flags [none], proto UDP (17), length 56) 172.16.1.2.54167 > Ubuntu-dbacher.local.4011: [udp sum ok] UDP, length 28

但我的听众 ( nc -l -u -s MY_IP -p 4011) 什么也没看到。

我怀疑有什么问题阻止了 tun0 设备将其数据包路由出去,但我不知道如何了解数据包被丢弃的位置。

$ ifconfig tun0
tun0      Link encap:UNSPEC  HWaddr 00-00-00-00-00-00-00-00-00-00-00-00-00-00-00-00
          inet addr:172.16.1.1  P-t-P:172.16.1.1  Mask:255.255.255.255
          UP POINTOPOINT RUNNING NOARP MULTICAST  MTU:1500  Metric:1
          RX packets:0 errors:0 dropped:0 overruns:0 frame:0
          TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:500
          RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
172.16.1.0      172.16.1.1      255.255.255.0   UG    0      0        0 tun0
10.10.48.0      0.0.0.0         255.255.255.0   U     1      0        0 eth0
169.254.0.0     0.0.0.0         255.255.0.0     U     1000   0        0 eth0
0.0.0.0         10.10.48.1      0.0.0.0         UG    0      0        0 eth0

$ cat /proc/sys/net/ipv4/ip_forward
1

如何调试 tun 数据包被丢弃的位置?

(顺便说一句,所有数据包都是 UDP。)

linux routing tun packet-crafting
  • 2 个回答
  • 13824 Views
Martin Hope
John Franic
Asked: 2010-01-08 15:24:40 +0800 CST

OpenVPN 错误“无法打开 TUN/TAP dev /dev/net/tun:权限被拒绝 (errno=13)”

  • 3

嗨,当我尝试在我的 Ubuntu 服务器中运行 openvpn 时出现以下错误

Fri Jan  8 02:12:59 2010 OpenVPN 2.1_rc11 i486-pc-linux-gnu [SSL] [LZO2] [EPOLL] [PKCS11] built on Mar  9 2009  
Fri Jan  8 02:12:59 2010 WARNING: --keepalive option is missing from server config  
Fri Jan  8 02:12:59 2010 NOTE: the current --script-security setting may allow this configuration to call user-defined scripts  
Fri Jan  8 02:12:59 2010 Diffie-Hellman initialized with 1024 bit key  
Fri Jan  8 02:12:59 2010 WARNING: file '/etc/openvpn/easy-rsa/2.0/keys/server.key' is group or others accessible    
Fri Jan  8 02:12:59 2010 /usr/bin/openssl-vulnkey -q -b 1024 -m <modulus omitted>    
Fri Jan  8 02:12:59 2010 TLS-Auth MTU parms [ L:1543 D:140 EF:40 EB:0 ET:0 EL:0 ]     
Fri Jan  8 02:12:59 2010 ROUTE default_gateway=192.0.2.1     
Fri Jan  8 02:12:59 2010 Note: Cannot open TUN/TAP dev /dev/net/tun: Permission denied 
(errno=13)   
Fri Jan  8 02:12:59 2010 Note: Attempting fallback to kernel 2.2 TUN/TAP interface   
Fri Jan  8 02:12:59 2010 Cannot allocate TUN/TAP dev dynamically   
Fri Jan  8 02:12:59 2010 Exiting   

这是我的服务器端配置文件:

dev tun
proto tcp
port 1194

ca /etc/openvpn/easy-rsa/2.0/keys/ca.crt
cert /etc/openvpn/easy-rsa/2.0/keys/server.crt
key /etc/openvpn/easy-rsa/2.0/keys/server.key
dh /etc/openvpn/easy-rsa/2.0/keys/dh1024.pem

user nobody
group nogroup
server 10.8.0.0 255.255.255.0

persist-key
persist-tun

#status openvpn-status.log
#verb 3
client-to-client

push "redirect-gateway def1"

log-append /var/log/openvpn
comp-lzo 

我正在从我的 root 帐户运行。所以我不知道为什么权限被拒绝。另外,如果我输入 modprobe tun 我会得到以下输出。

WARNING: Deprecated config file /etc/modprobe.conf, all config files belong into /etc/modprobe.d/.
FATAL: Could not load /lib/modules/2.6.18-128.2.1.el5.028stab064.7ent/modules.dep: No such file or directory
virtualization vpn ubuntu openvpn tun
  • 3 个回答
  • 26435 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve