iptables流量转发
在打cyberstrikelab靶场时,遇到了一个小问题,宿主机win10、虚拟机kali只有一个可以启用openvpn,同时使用好像会出问题,两个主机分配了同一个ip。
流量转发实现:
- kali > vpn内网
- 宿主机 > kali > vpn内网
尝试在kali上启用openvpn,在给kali配置流量转发,在宿主机win10上配置一条静态路由,通过kali转发win10的流量到vpn内网
# kali配置
启用openvpn
sudo openvpn cyberstrikelab.com-PT-1.ovpn
1
当前会话启用ip转发
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
1
修改配置文件,永久生效
sudo vim /etc/sysctl.conf
1
在文件中添加或修改以下行:
net.ipv4.ip_forward=1
1
启用ip转发
sudo sysctl -p
1
在windows上写一个脚本,配置静态路由,重启清除
@echo off
setlocal enabledelayedexpansion
:: =========================================================================
:: 临时静态路由配置脚本
:: -------------------------------------------------------------------------
:: 作用: 为 VPN 内网添加一条临时性的静态路由。
:: 权限: 必须以管理员身份运行。
:: 特性: 路由在重启电脑后会自动失效。
:: =========================================================================
:: -------------------------------------------------------------------------
:: 1. 定义变量
:: -------------------------------------------------------------------------
set "TARGET_NETWORK=172.16.233.0"
set "SUBNET_MASK=255.255.255.0"
set "GATEWAY_IP=192.168.219.130"
:: -------------------------------------------------------------------------
:: 2. 检查管理员权限
:: -------------------------------------------------------------------------
net session >nul 2>&1
if %errorlevel% neq 0 (
echo.
echo 警告:此脚本需要管理员权限才能运行。
echo 请右键点击此文件,选择“以管理员身份运行”。
echo.
pause
exit /b 1
)
:: -------------------------------------------------------------------------
:: 3. 执行路由命令
:: -------------------------------------------------------------------------
echo 正在添加临时静态路由...
echo 目标网络: %TARGET_NETWORK%
echo 子网掩码: %SUBNET_MASK%
echo 网关: %GATEWAY_IP%
echo.
:: 去掉 -p 参数,路由只在当前会话中生效
route add %TARGET_NETWORK% mask %SUBNET_MASK% %GATEWAY_IP%
if %errorlevel% equ 0 (
echo.
echo 路由添加成功!重启电脑后会自动清除。
) else (
echo.
echo 错误:路由添加失败。这可能是因为路由已存在或参数有误。
)
echo.
pause
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
双击运行,访问靶场,失败
好吧,忘记了校园网也是10.0网段了,可能因为靶机vpn内网是10.0网段,两个10.0网段冲突了
以上配置完也没什么大问题,kali只是配置了转发流量,win10添加了一条静态路由,不用管他了,换个方法。
# 在 Kali 虚拟机上配置 SSH SOCKS5 代理
同样,在kali启用ip转发
当前会话启用ip转发
echo 1 | sudo tee /proc/sys/net/ipv4/ip_forward
1
修改配置文件,永久生效
sudo vim /etc/sysctl.conf
1
在文件中添加或修改以下行:
net.ipv4.ip_forward=1
1
启用ip转发
sudo sysctl -p
1
确保kali ssh服务在运行
sudo systemctl status ssh
1
在宿主机win10上使用ssh建立隧道,这会在本地创建一个socks5代理,端口9050,并转发到192.168.219.130:22
ssh -D 127.0.0.1:9050 -C -N -f npc@192.168.219.130
1
给浏览器插件配置代理,走本地的9050端口
使用这个代理访问靶机,成功访问
好吧,成功是成功了,但是访问速度也太慢了,不如直接宿主win直接启用openvpn
编辑 (opens new window)
最后一次更新于: 2025/09/17, 00:49:40