ubuntu 配置路由转发,我忘了啥…… - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
mingl0280
V2EX    Linux

ubuntu 配置路由转发,我忘了啥……

  mingl0280
mingl0280 2021-06-23 07:58:21 +08:00 3226 次点击
这是一个创建于 1649 天前的主题,其中的信息可能已经有所发展或是发生改变。
事情是这样的,我这里的 vpn 有个奇怪的 bug 会导致我电脑上 dns 失效。为了避免这种情况发生,我就开了个 ubuntu 的虚拟机做专门的 vpn,然后在路由器里配置了转发表,想让访问 vpn 的流量转发到 vpn 虚拟机。
现在的情况是,vpn 配置好了,虚拟机内可以访问 vpn 网络的资源,但是从路由器上转发到虚拟机的请求却不能访问 vpn 网络的资源。
已配置好的部分:
(VPN 虚拟机)
sysctl 的 net.ipv4.ip_forward = 1
iptables FORWARD 和 INPUT 链都设为了 Accept
机器 ip 192.168.1.88
ping 172.16.x.x 的服务器是正常的。
(路由器)
172.16.0.0/16 转发 192.168.1.88
172.25.0.0/16 转发 192.168.1.88
现在客户端上 tracert 到 172.16.x.x 地址的话是显示
C:\>tracert -d 172.16.x.x

通过最多 30 个跃点跟踪到 172.16.x.x 的路由

1 <1 毫秒 <1 毫秒 <1 毫秒 192.168.1.1
2 <1 毫秒 <1 毫秒 <1 毫秒 192.168.1.88
3 * * * 请求超时。


请问我是忘了配置啥东西?(或者 iptables 配错了也有可能……)
18 条回复    2021-06-23 17:33:23 +08:00
snuglove
    1
snuglove  
   2021-06-23 08:06:42 +08:00 via Android
所以你应该贴出你的这条防火墙配置
mingl0280
    2
mingl0280  
OP
   2021-06-23 08:13:30 +08:00
@snuglove

Chain INPUT (policy ACCEPT)
target prot opt source destination
ACCEPT all -- 192.168.0.0/16 anywhere

Chain FORWARD (policy ACCEPT)
target prot opt source destination
ACCEPT all -- anywhere anywhere
ACCEPT all -- anywhere anywhere

Chain OUTPUT (policy ACCEPT)
target prot opt source destination
0gys
    3
0gys  
   2021-06-23 08:32:14 +08:00 via iPhone
1.88 的路由贴出来
archean
    4
archean  
   2021-06-23 08:33:12 +08:00
是不是应该配个 MASQUERADE,不然包怎么回来
ysc3839
    5
ysc3839  
   2021-06-23 08:57:47 +08:00 via Android
只是为了路由转发的话建议使用 OpenWrt,因为相关配置基本是开箱即用的。
chenset
    6
chenset  
   2021-06-23 09:11:52 +08:00
看下是不是缺这个

```

iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

```
mingl0280
    7
mingl0280  
OP
   2021-06-23 09:43:20 +08:00 via Android
@ysc3839 openvpn 那我就得找厂商要单独的 vpn 软件安装包了,基本上算做梦
Jirajine
    8
Jirajine  
   2021-06-23 10:04:50 +08:00 via Android
别忘了回程路由,图省事 masquerade 一下也行。
no1xsyzy
    9
no1xsyzy  
   2021-06-23 10:16:07 +08:00
你 ...88 的 Network Manager 是什么?
https://wiki.archlinux.org/title/Network_configuration#Network_managers
networkd 需要单独配置一下
ysc3839
    10
ysc3839  
   2021-06-23 10:33:09 +08:00
@mingl0280 什么意思?我没有提 OpenVPN,我说的是 OpenWrt 。
mingl0280
    11
mingl0280  
OP
   2021-06-23 10:41:42 +08:00
@ysc3839 打错了,OpenWRT,vpn 软件不支持,得找厂家重新做,显然是不可能的。
ysc3839
    12
ysc3839  
   2021-06-23 10:45:05 +08:00
@mingl0280 都是 Linux 系统,不会不支持吧?具体是怎么个不支持呢?
mingl0280
    13
mingl0280  
OP
   2021-06-23 10:47:38 +08:00
@ysc3839 二进制包,tar.gz 那种,没法在 openwrt 上用(库都不一样)
mingl0280
    14
mingl0280  
OP
   2021-06-23 10:47:56 +08:00
@chenset 对,就是忘了这个,加上就好了。
raysonx
    15
raysonx  
   2021-06-23 10:47:59 +08:00 via iPad
路由器和虚拟机的 rp_filter 关掉了吗?路由器到到虚拟机是否有 NAT ?虚拟机到 vpn 的虚拟接口是否有 NAT ?
如果远程的 vpn 服务器没有到你本地 192.168.1.0/24 网段的静态路由,你需要在虚拟机上设置到 vpn 虚拟接口的 NAT

类似 iptables -t nat -A POSTROUTING -o vpn 接口 -j MASQUERADE
ysc3839
    16
ysc3839  
   2021-06-23 11:12:34 +08:00
@mingl0280 依赖某些库的话确实不好办,不过还可以考虑使用 Docker 。没记错的话 Docker 有个选项是使用系统网络接口,也许是可以用的。
mingl0280
    17
mingl0280  
OP
   2021-06-23 16:37:12 +08:00 via Android
@ysc3839 你意思是我本来 tar -xvf 一发加个 install 现在还得搞成 docker ?累不累啊……
ysc3839
    18
ysc3839  
   2021-06-23 17:33:23 +08:00
@mingl0280 我说的前提是防火墙很难配置,用一个开箱即用的系统更划算。
我之前尝试在 Ubuntu 上配 OpenVPN Server,NAT 转发、DHCP 、DNS 、UPnP 各种东西要写一大堆配置文件,最终还是直接用 OpenWrt 了。因此以后我遇到要配置 NAT 之类功能的时候都会优先选择 OpenWrt 。
关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2629 人在线   最高记录 6679       Select Language div class="sep20">
创意工作者们的社区
World is powered by solitude
VERSION: 3.9.8.5 37ms UTC 09:44 PVG 17:44 LAX 01:44 JFK 04:44
Do have faith in what you're doing.
ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86