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

Linux 用无线网卡开热点, 如何能让连接到热点的终端与主机在同一网络?

  •  
  •   liut2016 · 2020-10-20 10:27:22 +08:00 · 3067 次点击
    这是一个创建于 1493 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景:
    公司网络, 每个员工分配了几个静态 IP, 工位只有一个物理网口, 供工作机使用, 其它几个 IP 可以虚拟机桥接使用. 公司网络限制了以 nat 形式接入, 会被拦截并断网.

    需求:
    我想通过外接无线网卡, 使其它物理终端通过工作机无线网卡接入互联网, 又无法直接使用热点功能实现(nat), 所以前来求助, 是否有办法使其它终端通过无线网卡桥接在工作机网络上?

    17 条回复    2020-10-21 09:52:28 +08:00
    liut2016
        1
    liut2016  
    OP
       2020-10-20 10:43:39 +08:00
    太难了, 不知道通过 bridge 能不能实现?
    jim9606
        2
    jim9606  
       2020-10-20 10:47:37 +08:00
    NAT 都不行的话 bridge 肯定也不行吧?咋拦截 NAT 的,是工作机上有监控软件吗?
    saytesnake
        3
    saytesnake  
       2020-10-20 10:51:42 +08:00
    这个之前研究了一段时间,后来无果。
    python35
        4
    python35  
       2020-10-20 10:57:11 +08:00
    NAT 怎么拦截的 难道道监测 TTL
    jasonyang9
        5
    jasonyang9  
       2020-10-20 11:33:32 +08:00 via Android
    @python35 应该就是检查的 TTL 。

    用 iptables 的 mangle 表的 POSTROUTING 链修改 TTL 试试
    jasonyang9
        6
    jasonyang9  
       2020-10-20 11:45:34 +08:00
    另外贴一个早期用的,在 CentOS 上起热点的命令:

    ```
    nmcli connection add \
    connection.type "802-11-wireless" \
    connection.interface-name "your_interface_name" \
    connection.id "your_hotspot_id" \
    connection.autoconnect "no" \
    802-11-wireless.ssid "your_hotspot_ssid" \
    802-11-wireless.mode "ap" \
    802-11-wireless.band "bg" \
    802-11-wireless-security.key-mgmt "wpa-psk" \
    802-11-wireless-security.psk "your_password" \
    ipv4.method "shared"

    nmcli connection up "your_hotspot_id"
    ```

    可能需要 dnsmasq 。
    zhangsanfeng2012
        7
    zhangsanfeng2012  
       2020-10-20 12:04:18 +08:00 via Android
    把有线网卡和无线网卡桥起来,开 ap 模式,开 dhcp server 把静态 IP 分出去
    liut2016
        8
    liut2016  
    OP
       2020-10-20 13:27:32 +08:00
    @jim9606 工作机上没有监控软件, 应该是网关处的监控(被拦截时显示某康科技), 我也不太清楚是不是拦截的 nat, 反正虚拟机 nat 上网和直接无线 ap 都会被拦截, 虚拟机桥接则不会拦截
    liut2016
        9
    liut2016  
    OP
       2020-10-20 13:52:03 +08:00
    @zhangsanfeng2012 我刚试了下把无线网卡和有线通过 bridge 桥接, 直接就无法上网了, 这个方法应该不行
    flynaj
        10
    flynaj  
       2020-10-20 13:57:37 +08:00
    按照你说的,桥接就可以了,是不了是你没有桥接对,要么就是绑定了 mac 地址!
    liut2016
        11
    liut2016  
    OP
       2020-10-20 14:02:00 +08:00
    @jasonyang9 我用的 gnome 桌面, 起热点是很方便的.

    <br/>
    想请教下 iptables 修改 ttl, 我对这块不太熟悉, 我搜到以下命令可以修改 ttl:

    <br/>
    iptables -t mangle -A PREROUTING -i eth0 -j TTL --ttl-dec 1

    <br/>
    请教下, 我应该修改哪个网卡的 ttl, 无线网卡还是有线的, 把值减少 1 是吧?
    a6821630
        12
    a6821630  
       2020-10-20 14:25:26 +08:00
    这样的方法应该就行,就是搞一个单臂路由器,比如主路由器网关是 192.168.1.1,单臂路由器的 ip 是 192.168.1.2,网关当然也 192.168.1.2, 下面电脑网关把 192.168.1.1 改为 192.168.1.2
    jasonyang9
        13
    jasonyang9  
       2020-10-20 17:04:40 +08:00
    @liut2016 #11 大概是这样的,用 iptables 的 TTL 目标直接设定 TTL 值, 所以你要先检查正常情况下可通过公司网关的 TTL 值,然后是 TTL 目标加`--ttl-set`选项:

    ```
    iptables -t mangle -A POSTROUTING -j TTL --ttl-set 64
    ```

    语义是所有发到网上去的不关是本机产生的还是转发的都将 TTL 字段的值设定为 64 。

    至于是 PREROUTING 、FORWARD 、INPUT 、OUTPUT 、POSTROUTING 中的哪个链,我也不是很确定,请熟悉的同学回答。一个个尝试,或系统的看看 iptables 教程。
    liut2016
        14
    liut2016  
    OP
       2020-10-20 19:19:25 +08:00
    @jasonyang9 好的, 多谢大佬指点
    wujunze
        15
    wujunze  
       2020-10-20 19:54:12 +08:00
    买个路由器 可解 哈哈哈
    12101111
        16
    12101111  
       2020-10-20 19:57:42 +08:00   ❤️ 1
    nat 不行桥接肯定不行的,而且会被直接发现.如果改 ttl 也不行, 工作机没有装监控软件可以开一个 socks5 代理,然后其他机器通过无线然后连接到代理
    owt5008137
        17
    owt5008137  
       2020-10-21 09:52:28 +08:00 via Android
    同问咋检测 NAT 的?
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1260 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 21ms · UTC 17:55 · PVG 01:55 · LAX 09:55 · JFK 12:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.