Linux双网卡搭建NAT服务器之网络应用

时间:2022-09-09 18:34:50

Linux双网卡搭建NAT服务器之网络应用

一:拓扑、网络结构介绍

Eth1 外网卡的IP 地址, GW和DNS 按照提供商提供配置。配置如下:

IP:114.242.25.18

NETMASK:255.255.255.0 
GW:114.242.25.1

DNS:202106.0.20

DNS:202106.46.151

Linux 主机的 eth0 指向内网, IP 地址为: 172.100.10.1/24 。

Eth 0 
IP:172.100.10.1 
NETMASK:255.255.255.0

内部办公区 IP 地址段是 172.100.10.X/24 段的 IP , eth0 的 IP 是所有内网主机的网关,而DNS 设置为 eth1网卡配置 的 DNS,我的内网办公电脑设置如下:

172.100.10.188 
NETMASK:255.255.255.0 
GW:172.100.10.1

DNS:202106.0.20

DNS:202106.46.151

二: 配置

1.开启转发

以上配置完成后,办公终端 应该可以ping通Linux系统主机的eth0 的IP,因为他们是通过交换机链接的。但是,办公终端 ping不通Linux系统主机的eth1 的IP,应为并未开启Linux系统主机的转发功能。

开启Linux的转发功能,执行如下命令:

echo 1 > /proc/sys/net/ipv4/ip_forward

查看系统是否启用了转发功能,可以执行如下命令:

cat /proc/sys/net/ipv4/ip_forward

如果结果为1,代表已启用,0代表未启用。

开启转发后,就能ping 同ETH 1 的IP 地址和网关和DNS。

2.配置NAT规则

经过上面配置后,虽然可以ping相关的IP地址,但是此时linux 服务器是可以上网,但是内网办公电脑还是无法上网。问题在于内网主机的IP地址是无法在公网上路由。因此我们只需将内网办公终端 的IP转换成Linux系统eth1 接口的IP。

3.配置的NAT

/sbin/iptables -P INPUT ACCEPT
/sbin/iptables -P OUTPUT ACCEPT
/sbin/iptables -P FORWARD ACCEPT
/sbin/iptables -t nat -P PREROUTING ACCEPT
/sbin/iptables -t nat -P POSTROUTING ACCEPT
/sbin/iptables -t nat -P OUTPUT ACCEPT

NAT 转换:

iptables -t nat -A POSTROUTING -s 172.100.10.0/24 -o eth1 -j MASQUERADE

也可以通过使用 SNAT target 实现:

iptables -t nat -A POSTROUTING -s 10.50.10.0/24 -o eth1 -j SNAT --to-source 114.242.25.18

FORWARD 配置规则如下:

iptables -A FORWARD -i eth0 -j ACCEPT

保证所有进入 eth0 的包都被 FORWARD 点 ACCEPT 。

经过以上的配置之后, 内网办公电脑就可以正常的访问外网了。

本文出自 “康建华” 博客,请务必保留此出处http://michaelkang.blog.51cto.com/1553154/788472

Linux双网卡搭建NAT服务器之网络应用的更多相关文章

  1. Linux双网卡NAT共享上网

    linux双网卡NAT共享上网 术语字汇 私有IP地址(路由不可达地址)是一个被用于本地局域网的IP地址(在互联网中不可见). 公用IP地址(路由可达地址)是一个在互联网中可见的IP地址. IP伪装是 ...

  2. Linux 双网卡绑定

    Linux 双网卡绑定 Linux 双网卡绑定双网卡绑定的常用模式:mode1:active-backup 模式,即主备模式.mode0:round-broin 模式,即负载均衡模式(需要交换机配置聚 ...

  3. Linux 双网卡绑定技术

    bond技术是在linux2.4以后加入内核. 一般步骤是1.把bonding模块加入内核, 2 编辑要绑定的网卡设置,去除地址设定 3 添加bond设备,设置地址等配置 4  重启网络 5 在交换机 ...

  4. Linux双网卡绑定配置

    Linux双网卡绑定配置                                       环境介绍 Linux Redhat 6.5.4张网卡 需求 4张网卡两两绑定,4张网卡分别是eth ...

  5. Linux 双网卡绑定及Bridge

    Linux 双网卡绑定及Bridge 阅读(5,202) 一:linux操作系统下双网卡绑定有七种模式.现在一般的企业都会使用双网卡接入,这样既能添加网络带宽,同时又能做相应的冗余,可以说是好处多多. ...

  6. 搭建VPN服务器之PPTP

    搭建VPN服务器之PPTP 1. 查看系统是否支持PPP 一般自己的系统支持,VPS需要验证. [root@oldboyedu ~]# cat /dev/ppp cat: /dev/ppp: No s ...

  7. Linux 双网卡双网段通信

    /********************************************************************************* * Linux 双网卡双网段通信 ...

  8. Linux双网卡绑定

    Linux双网卡绑定 作者:Eric 微信:loveoracle11g eth0和eth1绑定为bond0 [root@rac-node1 ~]# cat /etc/sysconfig/network ...

  9. Linux双网卡绑定bond详解--单网卡绑定多个IP

    Linux双网卡绑定bond详解 1 什么是bond 网卡bond是通过多张网卡绑定为一个逻辑网卡,实现本地网卡的冗余,带宽扩容和负载均衡,在生产场景中是一种常用的技术.Kernels 2.4.12及 ...

随机推荐

  1. Python 动态创建函数【转】

    知乎上也有相似的问题 偶然碰到一个问题,初想是通过动态创建Python函数的方式来解决,于是调研了动态创建Python函数的方法. 定义lambda函数 在Python中定义lambda函数的写法很简 ...

  2. Java 定时任务

    control 类 Date nowDate = new Date(); SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH: ...

  3. Flatten Binary Tree to Linked List

    Flatten a binary tree to a fake "linked list" in pre-order traversal. Here we use the righ ...

  4. AutoCAD 2007在win8.1安装出现——错误1606。无法访问网络位置Autodesk\AutoCAD2007\R17.0\chs\的解决

    环境win 8.1 64位,AutoCAD 2007 安装CAD2007,一开始安装就出错,提示:错误1606.无法访问网络位置Autodesk\AutoCAD2007\R17.0\chs\ 百度之后 ...

  5. java.lang.class.getResource

    静态块,在项目启动的时候就执行,是主动执行的. 静态方法,  是被动执行的,需要被调用才执行. static{         try {             String path = Conf ...

  6. 版本控制工具(SVN/Git)介绍

    文章大纲 一.SVN介绍二.Git介绍三.IDEA使用SVN和Git四.总结五.参考文章   一.SVN介绍 1. SVN服务器搭建和使用 首先来下载和搭建SVN服务器,下载地址如下: http:// ...

  7. Java Swing实现一个简单而优美的记事本( 较详细注释 )

    Java Swing实现具有基本功能的记事本 目前实现了: 文件 新建 打开 保存 退出前保存询问 编辑 剪切 复制 粘贴 清除 撤销 格式 字体选择 字体颜色选择 帮助 关于 (样式采用了css与h ...

  8. aix 查看内存,CPU 配置信息

    内存lsattr -El mem0cpu lsdev -C |grep procCPU的信息lsattr -El proc0   #bootinfo -r查看物理内存     使用命令#  lsdev ...

  9. JAVA 中文 unicode 相互转换 文件读取

    package com.test; import org.junit.Test; public class JunitTest { @Test public void test(){ String p ...

  10. UNION 与 UNION ALL的区别

    UNION 操作符用于合并两个或多个 SELECT 语句的结果集. 请注意,列的数量.数据类型.顺序要保持一致!!! 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名. 例子: ...