CentOS 开启 NAT 路由转发功能

马谦马谦马谦 Linux评论5,4951字数 763阅读 2 分 32 秒阅读模式

一、拓扑图

学习 linux 的网络框架 netfilter,想用 centos 作为路由器,在下面接 PC 产生流量测试。

默认情况下 linux 是没有开启数据包转发功能的,需要手动配置,linux 使用 centos6.9,网络拓扑图如下:

CentOS开启NAT路由转发功能-图片1

路由器的 eth0 口接外网,IP 地址 192.168.123.102,内网口 eth0 地址 10.0.0.x/24,希望 PC 通过路由 nat 上网。

二、转发配置

开启路由转发首先检查好防火墙配置,清空原有的 nat 规则:iptables -F,然后添加 nat 规则,一共有两种方式:

第一种:iptables -t nat -A POSTROUTING -s 10.0.0.0/24 -j SNAT --to 192.168.123.102

第二种:iptables -t nat -A POSTROUTING -o eth0 -j MASQUERADE

其中的部分参数含义为:

  • -t: 类型为 nat
  • -A: 添加新规则到规则链的末尾
  • POSTROUTING: 在包就要离开防火墙之前改变其源地址
  • -s: 源地址段,这里设置我的内网地址网段 10.0.0.0/24
  • -j SNAT: 满足 snat 条件的时候跳转
  • --to: 跳转时设置的 Ip 地址
  • -o: 跳转时的出口设备为 eth0

具体可参考防火墙规则,这里设置好后,开启设备的数据包转发:

转发永久生效

上面的 echo 开启数据包转发只是临时生效,下次重启后就失效了,如果需要永久生效,得修改/etc/sysctl.conf 文件,把 net.ipv4.ip_forwar 设置为 1 。

三、生效性测试

检测是否生效,给 PC 配置好 IP,然后 ping 百度,同时设备上也开启抓包:

CentOS开启NAT路由转发功能-图片2

 
马谦马谦马谦
  • 本文由 马谦马谦马谦 发表于 2018 年 12 月 31 日 17:04:53
  • 转载请务必保留本文链接:https://www.dyxmq.cn/linux/centos-nat-feature.html
CentOS5 YUM源 CentOS

CentOS5 YUM 源

centos5 已停止了维护,国内大部分的源也停止维护,找了很久都没有找到可用的源。最后才发现,centos 早期的源都已经 vault.centos.org 网站下,国内的镜像源也都改成了 centos-va...
openssl命令的用法 Linux

openssl 命令的用法

openssl 是目前使用最广泛的 ssl 库之一,除了提供全面的 ssl 加密库以外,还提供了一些基础的命令行工具用于测试,目前绝大多数的软件都是使用 openssl 库来进行 ssl 交互,很多系统默认都自带了 op...
匿名

发表评论

匿名网友
:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:
确定

拖动滑块以完成验证