利用iptables的NAT代理实现内网访问外网

利用NAT代理实现内网访问外网 服务器

  1. 背景及原理

    若局域网中的两台计算机只能有一台可以访问外网,而这两台计算机之间能相互通讯,那么能够配置能访问外网的那台服务器实现路由器的功能,即实现其余机器的NAT转换,从而使全部机器都能访问外网 spa

     

  2. 环境模拟

    在虚拟机中建立两台Linux系统(能够在建立一台后克隆另外一台,这样作能够加快效率),分别命名为Linux1和Linux2,其中Linux1具备两块网卡eth0(NAT模式)和eth1(仅主机模式) 代理

Linux2具备一块网卡eth0(仅主机模式),让Linux1作路由器(服务器),Linux2作客户机 blog

    

ip地址分配为 ip

Linux1:eth0    192.168.214.210(此ip跟VMware的NAT模式同网段,不然做为服务器端的Linux将没法访问外网) 路由

 

        eth1    172.16.6.254(自定义) 虚拟机

Linux2:eth0    172.16.6.100(自定义) table

环境模拟步骤: class

2.1 对于Linux1服务器端 效率

2.1.1 vi /etc/sysconfig/network-scripts/ifcfg-eth0修改网卡配置文件,同时将ip改成静态ip:192.168.214.210,网关192.168.214.2

2.1.2 进入到/etc/sysconfig/network-scripts/目录,建立网卡eth1的配置文件,能够经过复制网卡eth0的配置文件cp ifcfg-eth0 ifcfg-eth1再进行配置,只需配置静态ip为172.16.6.254(即Linux2的网关)

2.1.3 执行命令>/etc/udev/rules.d/70-persistent-net.rules清空网卡信息相关文件

2.1.4 重启系统并查看ip

2.2 对于Linux2客户端

2.2.1 vi /etc/sysconfig/network-scripts/ifcfg-eth0修改网卡配置文件(由于是经过原来的克隆过来的,因此须要删除网卡的物理地址和UUID),同时将ip地址改成静态ip:172.16.6.100

2.2.2 执行命令>/etc/udev/rules.d/70-persistent-net.rules清空网卡信息相关文件

2.2.3 重启系统并查看ip

2.3在Linux1上pingwww.baidu.com –c4

检验Linux2与Linux1的通讯,在Linux2上ping 172.16.6.254 –c4,同时ping www.baidu.com,发现能ping通网关(即Linux1),ping不通外网

 

三、在Linux1上操做

3.1 配置iptable转发规则执行以下命令

iptables -F    #清除全部规则来暂时中止防火墙

iptables -t nat -A POSTROUTING -s 172.16.6.0/24 -j MASQUERADE    #进行ip假装

3.2 调整内核参数,开启内核ip路由转发功能

echo 'net.ipv4.ip_forward = 1' >> /etc/sysctl.conf

sysctl -p        载入sysctl配置文件

 

  1. 在Linux2上从新ping www.baidu.com –c4

此时Linux2能经过Linux1连上外网,大功告成!

 

博主原创文章,转载请务必注明出处

相关文章
相关标签/搜索