让内网主机访问外网
问题描述
由于公司网络的限制,非公司的电脑是不能访问外网的,但是公司的台式机是可以访问的。为了方便的使用自己的mac笔记本,于是有了下面的方案。
环境
- 公司的台式机
- 系统:Ubuntu
- 内网IP: 10.100.97.129
- 外网IP: 111.198.72.100
- 笔记本电脑
- 系统:MacOS
- 内容IP: 10.100.96.133
设置方法
-
在有外网的设备上设置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
-
在外网设备中开启IP转发功能
打开配置文件
/etc/sysctl.conf
将:
1
net.ipv4.ip_forward = 1
然后执行:
1
sysctl -p
-
在内网设备上设置网关为
10.100.97.129
Mac设备设置网关的方式为:
1 2
sudo route delete default //删除default route sudo route add default 10.100.97.129
-
测试是否可以上网
补充
iptables命令 是Linux上常用的防火墙软件,是netfilter项目的一部分。可以直接配置,也可以通过许多前端和图形界面配置。 具体的使用可以参考这篇文章
参考资料
关于我
- 公众号: CodingDev
- 原文作者:xray
- 原文链接:http://chengfangpeng.tech/post/2021-11-01-iptables-net-config/
- 版权声明:本作品采用知识共享署名-非商业性使用-禁止演绎 4.0 国际许可协议进行许可,非商业转载请注明出处(作者,原文链接),商业转载请联系作者获得授权。