文档章节

iptables 实现简单的网关服务器

傅易
 傅易
发布于 2016/11/10 10:30
字数 305
阅读 61
收藏 1

首先要打开 IP 转发功能——在 /etc/sysctl.conf 文件中追加或修改一行:

net.ipv4.ip_forward = 1

使用如下命令使其立即生效:

$ sudo sysctl -p

假设本机外网 IP 为 100.100.100.100,外网段 0.0.0.0/32,内网 IP 为 192.168.1.1,内网段 192.168.1.0/24。

使内网主机能够通过本机访问外网:

$ iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 100.100.100.100
$ iptables -t filter -A FORWARD -s 192.168.1.0/24 -j ACCEPT
$ iptables -t filter -A FORWARD -d 192.168.1.0/24 -j ACCEPT

如果本机 IP 经常变动,指定 SNAT IP 不甚方便,可以换用 MASQUERADE 动态获取,即上述第一句改为:

$ iptables -t nat -A POSTROUTING -s 192.168.1.0/24 -j MASQUERADE

打印出规则表以查看,之后保存配置:

$ iptables -t nat -L
$ iptables -t filter -L

根据发行版不同,保存配置的方式有所区别,这里只给出一例:

$ service iptables save

实现 iptables 的开机自启:

$ chkconfig --level 345 iptables on

内网机器需要手动配置网关 IP、DNS 服务器。

© 著作权归作者所有

共有 人打赏支持
傅易
粉丝 25
博文 102
码字总数 61690
作品 0
海淀
后端工程师
Iptables防火墙(SNAT和DNAT)

1、SNAT:源地址转换 实现内网访问外网,修改IP地址,使用POSTROUTING 命令:iptables -t nat -A POSTROUTING -s 192.168.1.10/24 -j SNAT --to-source 202.1.1.1 2、MASQUERADE:地址伪装 ...

L宝宝聊IT
08/03
0
0
Linux 之 使用iptables作为防火墙

上面左边是我的个人微信,如需进一步沟通,请加微信。 右边是我的公众号“Openstack私有云”,如有兴趣,请关注。 近期朋友一个防火墙故障,在紧急情况下,将外网专线插到一台linux服务器(红...

余伟兵
08/07
0
0
iptables 实现简单的四层反向代理服务器

四层代理,即工作在 OSI 模型的第四层,通过分析 IP 和端口来分发到上游服务器。 首先查看 iptables 实现简单的网关服务器,遵循同样的方法打开 IP 转发功能。 假设本机外网地址 100.100.10...

傅易
2016/11/10
100
0
把iptables防火墙配置为网关服务器

Linux防火墙除了提供数据包过滤功能外,还提供了一些基本的网关应用,本篇博客将介绍iptables防火墙的SNAT和DNAT策略:局域网共享一个公网IP地址接入Internet;向Internet发布位于内网的应用...

杨书凡
01/03
0
0
lvs(Linux Virtual Server)浅析----------------lvs-nat和lvs-dr实现

前言: 讲道理来说,我是不愿意弄出来一堆命令的,毕竟理论知识才是核心嘛。不过,lvs的部署倒是坑不少,所以都把实现过程记录下来了~ 正文: lvs-nat的简单拓扑如下: 因为,此模式的核心是...

li690347460
2017/01/19
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Bash各类扩展详解

Bash各类扩展详解 Bash中主要包括大括号扩展、波浪号扩展、变量扩展、子命令扩展、文件名扩展和算数扩展。这些扩展组合在一起为Bash带来了极大的易用性。掌握这些扩展的用法和功能,能够为B...

小陶小陶
38分钟前
1
0
EventBus原理深度解析

一、问题描述 在工作中,经常会遇见使用异步的方式来发送事件,或者触发另外一个动作:经常用到的框架是MQ(分布式方式通知)。如果是同一个jvm里面通知的话,就可以使用EventBus。由于Event...

yangjianzhou
今天
5
0
OpenCV图像处理实例:libuv+cvui显示摄像头视频

#include <iostream>#include <opencv2/opencv.hpp>#define CVUI_IMPLEMENTATION#include <cvui.h>extern "C"{#include <uv.h>}using namespace std;#define WINDOW_NAM......

IOTService
今天
1
0
openJDK之JDK9的String

1.openJDK8的String 先来看下openJDK8的String的底层,如下图1.1所示: 图1.1 底层上使用的是char[],即char数组 每个char占16个bit,Character.SIZE的值是16。 2.openJDK9中的String 图2.1...

克虏伯
今天
1
0
UEFI 模式下如何安装 Ubuntu 16.04

作者:知乎用户 链接:https://www.zhihu.com/question/52092661/answer/259583475 来源:知乎 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。 针对UEFI模式下安装U...

寻知者
今天
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部