V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
wuruxu
V2EX  ›  Linux

通过 network namespace 的接口,可以访问宿主机的服务吗?

  •  
  •   wuruxu ·
    wuruxu · 22 小时 56 分钟前 · 321 次点击

    背景:我用以下的脚本在宿主机上,在 wg0-ns 上,开启了一个 wireguard 接口
    在其他机器上可以正常 ping 通 wg0-ns 这个 namespace 上的 wg0
    我想通过这个 wg0 ,在其他设备上访问到宿主机服务 比如 http ssh 等
    问了 AI 还没有搞定

    #!/bin/bash
    ip netns exec wg0-ns ip link del dev $WG_INTERFACE
    ip netns del wg0-ns
    ip netns add wg0-ns
    ip link add dev $WG_INTERFACE type wireguard
    ip link set $WG_INTERFACE netns wg0-ns
    ip netns exec wg0-ns ip address add dev $WG_INTERFACE 192.168.11.8/24
    ip netns exec wg0-ns ip -6 address add dev $WG_INTERFACE 'fd08:6381:11::8/64'
    ip netns exec wg0-ns wg set $WG_INTERFACE private-key /etc/wg0/private.key
    ip link add veth-host type veth peer name veth-ns netns wg0-ns
    ip link set veth-host up
    ip addr add 192.168.222.1/24 dev veth-host
    ip netns exec wg0-ns ip link set veth-ns up
    ip netns exec wg0-ns ip addr add 192.168.222.2/24 dev veth-ns
    ip netns exec wg0-ns ip route add default via 192.168.222.1
    iptables -t nat -I POSTROUTING 1 -s 192.168.222.0/24 -j MASQUERADE
    ip netns exec wg0-ns sh -c "echo 'nameserver 114.114.114.114' > /etc/resolv.conf"
    ip netns exec wg0-ns wg set $WG_INTERFACE peer $PEER_PUBKEY preshared-key /etc/wg0/preshared.key endpoint $PEER_ENDPOINT persistent-keepalive 60 allowed-ips 192.168.11.0/24,fd08:6381:11::/64
    ip netns exec wg0-ns ip link set up dev $WG_INTERFACE
    
    yanqiyu
        1
    yanqiyu  
       22 小时 37 分钟前
    这个 namespace 开 forward

    namespace 里面配防火墙往 veth-host 的流量开 masquerade 或者 host 这边写静态路由让 wireguard 的流量路由到那个 pair

    然后 host 这边防火墙允许 veth-host 过来的流量访问这些端口

    简单的说 netns 你就当作另外一台机器,veth peer 就是两台机器之间的网线,然后你该怎么配路由和防火墙就怎么配置
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2806 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 12:25 · PVG 20:25 · LAX 05:25 · JFK 08:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.