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中使用iptables做SNAT代理访问互联网

验证结果:可以正常访问外网。

原创文章,作者:admin,如若转载,请注明出处:https://hostingchat.cn/1606.html

(0)
admin的头像admin
上一篇 2023年7月11日 下午6:31
下一篇 2023年8月9日 下午5:35

相关推荐

  • Linux必备命令(二)

    一、mv命令 mv命令用来对文件或目录重新命名,或者将文件从一个目录移到另一个目录中。source表示源文件或目录,target表示目标文件或目录。如果将一个文件移到一个已经存在的…

    2017年12月14日
    000
  • Linux部署Opentsdb(单机版)

    Opentsdb简介 opentsdb是基于Hbase的时序数据库[时间序列数据库]。不具备通用性,主要针对具有时间特性和需求的数据,如监控数据、温度变化数据等。opentsdb说…

    2019年5月3日
    000
  • CentOS 6.x-7.x系统升级内核

    此篇文章主要介绍为CentOS 6.x-7.x系列升级内核,参考 elrepo(官网)提供的内核源来升级内核,有需要的朋友可以参考下 CentOS 6.x升级内核 1)查看内核版本…

    2017年12月16日
    000
  • CentOS 7.4配置mailx基于465端口发送邮件

    发送邮件的两种方式: 1、连接现成的smtp服务器去发送(此方法比较简单,直接利用现有的smtp服务器比如qq、新浪、网易等邮箱,只需要直接配置mail.rc文件即可实现) 2、自…

    2019年5月3日
    000
  • 如何在 Linux 下快速找到被删除的文件

    日常运维过程中,我们经常需要处理磁盘空间问题,当接到告警后,第一时间会去找那些大文件,一般比如 Centos,可能大文件就是 /var/log/messages。 但有的时候,会出…

    2024年9月5日
    000
  • Linux系统目录和结构

    对于每一个Linux学习者来说,了解Linux文件系统的目录结构,是学好Linux的至关重要的一步,深入了解linux文件目录结构的标准和每个目录的详细功能,对于我们用好linux…

    2017年12月14日
    000
  • CentOS 7.4禁止root用户登录并添加sudo权限管理

    系统环境:CentOS 7.4 服务器IP:192.168.8.20 目的:不能用root用户直接登录,使用普通用户管理服务器,然后用sudo提权进行操作。 1、创建管理用户,设置…

    2019年6月30日
    000
  • CentOS 7.9安装DRBD共享存储

    一、DRBD简介 DRBD(Distributed Replicated Block Device)是一款基于Linux平台实现分布式复制存储系统,DRBD可以理解为就是Linux…

    2025年1月15日
    000
  • Linux系统配置本地离线安装源的详细教程

    目的 当环境没有互联网的情况下,需要安装某个软件或相关依赖包,但是没有互联网环境,没办法从互联网直接下载安装,因此我们采用配置离线本地安装源来解决这样的问题,centos&…

    2025年9月8日
    000
  • CentOS 7.9搭建DNS服务器

    一、DNS简介 DNS(Domain Name System,域名系统),互联网上作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用去记住较难记住的…

    2024年3月28日
    000

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注