51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

Linux中使用iptables做SNAT代理访问互联网

一、环境准备

|----|----------------|----------| | 序号 | IP地址 | 用途 | | 1 | 192.168.56.136 | 代理服务器 | | 2 | 192.168.56.138 | Linux客户端 |

注:192.168.56.138不能上外网,192.168.56.136与192.168.56.138内网相通;192.168.56.136可以正常上外网。实现需求让192.168.56.138也能上外网。

1、NAT简介

NAT 全名是 Network Address Translation,字面上的意思是网络地址转换,它还可以分为源地址转换(SNAT)和目的地址转换(DNAT)。SNAT 主要是用来给内网的主机提供连接到 Internet 的默认网关,而 DNAT 主要将内网机器的端口映射到外网上面。

二、iptables配置SNAT规则

1、配置内核转发

[root@localhost ~]# vim /etc/sysctl.conf

net.ipv4.ip_forward = 1

[root@localhost ~]# sysctl -p

net.ipv4.ip_forward = 1

2、iptables添加SNAT规则

[root@localhost ~]# iptables -t nat -A POSTROUTING -s 192.168.56.0/255.255.255.0 -o en333 -j MASQUERADE

或者

[root@localhost ~]# iptables -t nat -A POSTROUTING -o ens33 -s 192.168.56.0/24 -j SNAT --to 192.168.56.136

3、保存添加的iptables规则

[root@localhost ~]# service iptables save

iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]

4、在Linux客户端配置网关

[root@localhost ~]# route add default gw 192.168.56.136

5、查看路由表

[root@localhost ~]# route -ne

Kernel IP routing table

Destination Gateway Genmask Flags MSS Window irtt Iface

0.0.0.0 192.168.56.136 0.0.0.0 UG 0 0 0 ens33

192.168.56.0 0.0.0.0 255.255.255.0 U 0 0 0 ens33

6、验证是否可以上外网

[root@localhost ~]# ping baidu.com

[root@localhost ~]# curl -I https://www.baidu.com

验证结果:可以正常访问外网。
继续阅读 Linux

赞(0)
未经允许不得转载:工具盒子 » Linux中使用iptables做SNAT代理访问互联网