CentOS 6.9使用iptables搭建网关服务器(转)
条件:
网关服务器IP:172.16.0.1,并且可以连接到外网
客户端IP:172.16.0.0/24
1、开启转发支持forward
/etc/sysctl.conf
net.ipv4.ip_forward =
2、配置转发
iptables -t nat -A POSTROUTING -s 172.16.0.0/ -j MASQUERADE
转发网段172.16.0.0/24传过来的包,也可以指定特定的ip地址。例如:
iptables -t nat -A POSTROUTING -s 172.16.0.10 -j MASQUERADE
3、重启iptables
service iptables restart
4、修改客户端网关
/etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=172.16.0.1
实例:
一、配置NetWork:
内网:Eth0 :192.168.0.253/24
外网:Eth1:112.95.145.157/24
Eth0:
vi /etc/sysconfig/network-scripts/ifcfg-eth0
增加:
BOOTPROTO=static
IPADDR=192.168.0.253
BROADCASK=192.168.0.255
NETMASK=255.255.255.0
NETWORK=192.168.0.0
ONBOOT=yes
Eth1:
vi /etc/sysconfig/network-scripts/ifcfg-eth1
增加:
BOOTPROTO=static
IPADDR=112.95.145.157
NETMASK=255.255.255.0
BROADCASK=112.95.145.255
NETWORK=112.95.145.0
ONBOOT=yes
设置网关:
vi /etc/syscofig/network
增加:
NETWORKING=yes
NETWORKING_IPV4=yes
GATEWAY=112.95.145.1
HOSTNAME=GateWay
设置DNS:
vi /etc/resolv.conf
增加:
nameserver 210.21.196.6
nameserver 221.5.55.88
重启NETWORK:service network restart
网络启动成功后,Ping一下网关、外部地址,验证配置正确。
二、iptables配置
1、打开IP转发功能:
echo > /proc/sys/net/ipv4/ip_forward
2、建立nat 伪装
iptables -t nat -A POSTROUTING -o eth1 -j MASQUERADE
或者
iptables -t nat -A POSTROUTING -s 192.168.0.0/ -o eth1 -j MASQUERADE (只建立特定子网的nat)
3、建立转发
iptables -A FORWARD -i eth0 -j ACCEPT
或者
iptables -A FORWARD -s 192.168.0.0/ -m state --state ESTABLISHED,RELATED -j ACCEPT (特定子网的转发)
4、保存iptables配置。
service iptables save
最简单的网关就配置好了。可以按实际情况加上各种转发规则。
找一台客户机:
设置
IP:192.168.0.2/
GATEWAY:192.168.0.253
DNS:210.21.196.6 221.5.88.88
验证能不能正常访问外部。
三、限制特定的MAC IP访问
1、限制特定MAC 地址外部访问:
iptables -A FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
解封:
iptables -D FORWARD -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
限制所有通信:
iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
解封:
iptables -A INPUT -m mac --mac-source xx:xx:xx:xx:xx:xx -j DROP
2、限制特定IP外部访问:
iptables -A FORWARD -s 192.168..x -j DROP
解封:
iptables -D FORWARD -s 192.168..x -j DROP
限制所有通信:
iptables -A INPUT -s 192.168..x -j DROP
解封:
iptables -D INPUT -s 192.168..x -j DROP
参考:
https://www.cnblogs.com/chenshoubiao/p/4782276.html(以上内容部分转自此篇文章)
https://www.cnblogs.com/zhenyuyaodidiao/p/6021671.html(CentOS 7+)
http://blog.csdn.net/u013177446/article/details/53996037
http://blog.sina.com.cn/s/blog_6150ff280100m8q6.html(以上内容部分转自此篇文章)
CentOS 6.9使用iptables搭建网关服务器(转)的更多相关文章
- linux+iptables搭建网关服务器
公司购买的一批云服务器只带内网,配置了一个负载均衡器(lb),这批服务器通过lb可以对外提供服务,但是这批服务器不能主动连接外网,例如使用wget下载文件,或者curl访问ttlsa.com站点. 额 ...
- 干货|Linux平台搭建网关服务器
概述 集群中一共10台服务器组成了局域网环境,但其中只有一台有外网网卡可以访问互联网.现要求另外9台服务器通过这台主机进行互联网访问. 实验环境介绍 利用iptables搭建网关服务器,即通过SNA ...
- CentOS 6.5下快速搭建ftp服务器[转]
CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了vsftp,使用这个命令会在屏幕上显示vs ...
- CentOS 6.5下快速搭建ftp服务器
来源:Linux社区 作者:Linux CentOS 6.5下快速搭建ftp服务器 1.用root 进入系统 2.使用命令 rpm -qa|grep vsftpd 查看系统是否安装了ftp,若安装了v ...
- CentOS 7 使用SVN+Apache搭建版本控制服务器
svn简介 Subversion是一个免费/开源的版本控制系统, Subversion 可以跨越时间地对文件和目录, 以及它们的修改进行管理. 这就允许你恢复 数据的旧版本, 或检查数据的修改历史. ...
- CentOS 7下简答搭建DNS服务器
一.DNS相关介绍 DNS(Domain Name System)域名系统协议,作为域名和IP地址相互映射的一个分布式数据库,能够使用户更方便的访问互联网,而不用挨个记住IP地址.通过主机名,最终得到 ...
- CentOS 5.8下快速搭建FTP服务器
学习安装和配置vsftpd: 实验环境:CentOS 5.8 x86_64 测试环境关掉防火墙和selinux. service iptables stop setenforce 0 1.安装vsft ...
- CentOS 6.3 + Subversion + Usvn 搭建版本管理服务器
一. Subversion 简介 Subversion是一个自由,开源的版本控制系统.在Subversion管理下,文件和目录可以超越时空.Subversion将文件存放在中心版本库里.这个版本库很像 ...
- Centos 6.5系统下搭建Git服务器--失败历程
参考博客 http://www.51hei.com/bbs/dpj-28077-1.html http://www.linuxidc.com/Linux/2014-06/103885p2.htm ht ...
随机推荐
- shell中的IFS和$*变量
本文转载自http://blog.chinaunix.net/uid-22566367-id-381955.html 自我记录内容.在工程中遇到了相关内容的shell脚本.在此处记录 STRING1= ...
- django “如何”系列10:如何管理静态文件
django开发者最关心的是web应用中的动态部分-视图函数和模板.但是明显,web应用还有其他需要注意的部分:静态文件(图片,css,javascript等等),那些都是渲染一个完整的页面需要的东西 ...
- phpcms v9表单向导添加验证码
要做留言板的功能,故用添加表单,想要在提交留言前加一个验证码的功能.网上的教程比较混乱,于是亲自实验了下,步骤如下: 首先是调用表单的页面加入验证码.表单js调用模版默认的是 \phpcms\temp ...
- vue css动画
.toggle-cart-enter-active, .toggle-cart-leave-active { transition: all .3s ease-out; } .toggle-cart- ...
- Python软件源PyPI中国镜像 2016
作为 easy_install 的升级版,pip 为 Pyhton 的包管理提供了极大的方便.一行命令即可完成所需模块的安装: pip install pandas 可是官方镜像的访问速度相当慢,几乎 ...
- AC日记——[POI2008]BLO-Blockade 洛谷 [POI2008]BLO-Blockade
[POI2008]BLO-Blockade 思路: tarjan: 代码: #include <bits/stdc++.h> using namespace std; #define ma ...
- Razor 部分页面
最近在和师父一起打野,后台要求挺多的.后台还是用的EF和MVC5,页面使用的razor. 现在是发现好多的页面有太多重复的东西了. 比如说查询页面的字段,比如说列表页,比如说详情方法都有. 灵机一动, ...
- ubuntu上安装mysql及导入导出
ubuntu上安装mysql: 1. sudo apt-get install mysql-server 2. apt-get isntall mysql-client3. sudo apt-get ...
- UVALive - 7042 The Problem to Make You Happy 博弈
题目大意:给你一个有向图, Bob 和 Alice 在做游戏,每轮他们走一步,当Bob 和 Alice在同一个点或者 Bob无路可走,Bob输,否则Alice输. 思路:因为在Bob赢的时候存在有环的 ...
- Mybatis框架-2
1.Mybatis中的接口形式 在Mybatis中使用接口形式将通过代理对象调用方法,从而实现sql的执行 1)定义一个接口 package mapper; import java.util.List ...