问题描述

由于公司网络的限制,非公司的电脑是不能访问外网的,但是公司的台式机是可以访问的。为了方便的使用自己的mac笔记本,于是有了下面的方案。

环境

  • 公司的台式机
    • 系统:Ubuntu
    • 内网IP: 10.100.97.129
    • 外网IP: 111.198.72.100
  • 笔记本电脑
    • 系统:MacOS
    • 内容IP: 10.100.96.133

设置方法

  1. 在有外网的设备上设置iptables的规则:

    1
    
    sudo iptables -t nat -A POSTROUTING -s 10.100.96.133 -j SNAT --to 111.198.72.100
    

    如果让整个网段的内部IP都可以访问外网,可以设置

    1
    
    -s 10.100.96.0/255.255.255.0
    
  2. 在外网设备中开启IP转发功能

    打开配置文件/etc/sysctl.conf

    将:

    1
    
    net.ipv4.ip_forward = 1
    

    然后执行:

    1
    
    sysctl -p
    
  3. 在内网设备上设置网关为10.100.97.129

    Mac设备设置网关的方式为:

    1
    2
    
    sudo route delete default //删除default route
    sudo route add default 10.100.97.129
    
  4. 测试是否可以上网

补充

iptables命令 是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。 具体的使用可以参考这篇文章

参考资料

关于我

  • 公众号: CodingDev