BG7EZY'S BLOG

没有什么能够阻挡,我对自由的向往。


  • 首页

  • 关于

  • 标签

  • 分类

  • 归档

  • 站点地图

  • 搜索

手把手教您把CentOS7服务器变成上网路由器(基于iptables)

发表于 2017-11-10 | 分类于 linux |

网络拓扑图及说明

说明

1 服务器通过静态IP上网,外网连接eth0口,IP为200.0.0.2;eth1口连接内网交换机,内网网段为192.168.10.1/24。
2 内网中的所有机器通过NAT上网,也要通过DHCP服务器自动获得IP地址。其中192.168.10.254为一台FTP服务器,需要对外提供FTP服务。
3 服务器本身不对外提供任何服务,仅对内网提供DHCP服务以及SSH管理。
4 内网机器使用运营商的DNS。

配置步骤

(系统IP配置方法这里不再赘述)

关闭系统自带的防火墙
停止firewalld服务
1
systemctl stop firewalld
禁止firewalld服务自启动
1
systemctl disable firewalld
安装iptables防火墙和DHCP服务器
安装iptables服务
1
yum -y install iptables-services
安装dhcp服务
1
yum -y install dhcp
对iptables进行初始化工作
清空filter表
1
iptables -F
清空nat表
1
iptables -t nat -F
默认禁止所有传入连接
1
iptables -P INPUT DROP
默认允许所有传出连接
1
iptables -P OUTPUT ACCEPT
默认禁止路由转发
1
iptables -P FORWARD DROP
打开系统的IP转发功能
1
echo "net.ipv4.ip_forward=1" >> /etc/sysctl.conf
不用重启,立即生效
1
sysctl -p
按以下模版配置DHCP服务器

配置文件位置:/etc/dhcp/dhcpd.conf

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#为 192.168.10.0/24 提供DHCP服务
subnet 192.168.10.0 netmask 255.255.255.0 {
range 192.168.10.2 192.168.10.253; #地址池范围
option broadcast-address 192.168.10.255; #广播地址
option routers 192.168.10.1; #默认网关
option domain-name-servers 202.96.134.33, 202.96.128.22; #运营商DNS服务器
option netbios-name-servers 192.168.10.1; #WINS服务器
option domain-name lan; #搜索域
default-lease-time 86400; #默认租约时间,单位为秒
max-lease-time 86400; #最长租约时间,单位为秒
}
#FTP服务器设置静态IP绑定
host ftp_server {
hardware ethernet 12:34:56:11:11:11; #FTP服务器的MAC地址
fixed-address 192.168.10.254; #绑定的IP地址
}

配置iptables的传入连接
允许环回接口的传入连接
1
iptables -A INPUT -i lo -j ACCEPT
允许已建立的传入连接
1
iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT
允许DHCP传入连接
1
iptables -A INPUT -i eth1 -p udp --dport 67:68 -j ACCEPT
允许SSH传入连接
1
iptables -A INPUT -i eth1 -p tcp --dport 22 -j ACCEPT
配置iptables的NAT转发(重点)
允许来自内网的传出连接
1
iptables -A FORWARD -s 192.168.10.0/24 -j ACCEPT
开启源NAT功能

即将来自内网主机的IP转换为外网IP。

1
iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -j SNAT --to 200.0.0.2

配置端口映射
1
iptables -t nat -A PREROUTING -d 200.0.0.2 -p tcp --dport 21 -j DNAT --to 192.168.10.254
允许到FTP服务器的传入连接
1
iptables -A FORWARD -d 192.168.10.254 -p tcp --dport 21 -j ACCEPT
保存iptables配置
1
iptables-save > /etc/sysconfig/iptables
启动iptables和dhcp服务
启动iptables
1
systemctl start iptables
开机自动启动iptables
1
systemctl enable iptables
启动dhcpd
1
systemctl start dhcpd
开机自动启动dhcpd
1
systemctl enable dhcpd
配置完成!

centos6.5做网关路由器详细实现方法

发表于 2017-11-10 | 分类于 linux |

最近因为公司的路由器老化导致上网时断时续,上半小时网就断一次网,为此我头疼不已,本着为公司节约成本的宗旨,决定自己弄一台centos做网关路由,于是在网上各种搜索,东拼西凑,总算是把这网关路由给搞定了。看到网上没有一篇完整说明centos做网关路由的文档,于是决定把我这次部署网关路由的经历分享给大家。

阅读全文 »

HackRF 扫描LTE基站 支持中国的TDD-LTE

发表于 2017-10-19 |
LTE-Cell-Scanner的TDD功能支持

作者jxj同学目前完成了该软件对于HackRF的支持。
据作者说HackRF的效果明显比rtlsdr要好不少,噪声系数彽了很多。
技术细节见为LTE小区搜索程序加入HackRF支持(使用纯C/C++语言操作HackRF)

阅读全文 »

使用国内的镜像源来加速PyBOMBS安装GNURadio

发表于 2017-10-19 |
  1. http://mirrors.tuna.tsinghua.edu.cn/help/pybombs
  2. http://mirrors.aliyun.com/pybombs

PyBOMBS 镜像使用帮助

PyBOMBS (Python Build Overlay Managed Bundle System) 是 GNU Radio 的包管理系统。

从头开始一键安装GNU Radio在Thinkpad X230上实测大约只需要40分钟,下载非常快,主要的时间就剩编译了。 而且安装的都是最新的版本。

另外,PyBOMBS会帮你解决依赖的问题,省得每次敲一堆make cmake命令了。

以前自己拖代码回来经常会被重置,而且耗时要几个小时。

阅读全文 »

Hackrf 入门

发表于 2017-10-19 |

引言

近年来,软件工程师的触角早已经慢慢地向传统硬件工程师的保留领地里伸去。例如FPGA的出现使得硬件设计从原来的原理图->PCB图->制板->焊接->调试->改板->制板->焊接的长周期、慢节奏开发中解放出来。缩短了硬件开发的周期,等同于延长了硬件工程师的寿命。

阅读全文 »

Ubuntu 16.04 iptables设置

发表于 2017-09-27 | 分类于 Linux |

最近换了 Ubuntu 16.04 LTS 设置好防火墙规则后,发现 iptables 服务不可用,自己就折腾了一番,基本达到要求。

准备
查看系统版本
1
lsb_release -a

返回结果如下:

1
2
3
4
5
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 16.04.3 LTS
Release: 16.04
Codename: xenial

阅读全文 »

squid透明代理之应用层广告过滤

发表于 2017-09-18 | 分类于 Linux , squid |

透明代理的意思是客户端不需要知道有代理服务器的存在,也不需要有设置代理的操作,它改变你的request fields(报文),并会传送真实IP。

什么时候用透明代理?

squid正向代理其实我一直都在用,在局域网做个缓存服务器常用网站的加载速度会有明显提升,我主要还是为了在应用层过滤广告,可是移动设备设置代理又比较麻烦,一个网段下的其他人也不能受益,这种情况就可以搞起 “透明代理了“ 。

阅读全文 »

在Linux中的使用ss命令检查套接字 网络连接

发表于 2017-09-13 | 分类于 linux , 网络 |

ss 是 iproute2 包的一部分(控制TCP/IP网络和流量的工具)。iproute2 的目标是替代先前用于配置网络接口、路由表和管理ARP表的标准Unix网络工具套装(通常称之为“net-tools”)。ss工具用于导出套接字统计,它可以显示与netstat类似的信息,且可以显示更多的TCP和状态信息。因为它直接从内核空间获取信息,所以会更快。ss的操作和netstat很像,所以这让它可以很容易就可以取代netstat。

阅读全文 »

Shadowsocks Windows 使用说明

发表于 2017-09-10 | 分类于 Proxy |
功能
  1. 系统代理设置
  2. PAC 模式和全局模式
  3. GFWList 和用户规则
  4. 支持 HTTP 代理
  5. 支持多服务器切换
  6. 支持 UDP 代理
下载

下载 最新版。

需要安装 .NET Framework 4.6.2

从 2.5.8 开始你可以在 Releases 页面找到 exe 文件的 hash 值,你可以使用 fciv 等工具 校验 Shadowsocks.exe 文件. 例如 fciv.exe -both -add Shadowsocks.exe

阅读全文 »

搭建简单GIT服务器

发表于 2017-09-07 |

在远程仓库一节中,我们讲了远程仓库实际上和本地仓库没啥不同,纯粹为了7x24小时开机并交换大家的修改。

GitHub就是一个免费托管开源代码的远程仓库。但是对于某些视源代码如生命的商业公司来说,既不想公开源代码,又舍不得给GitHub交保护费,那就只能自己搭建一台Git服务器作为私有仓库使用。

搭建Git服务器需要准备一台运行Linux的机器,强烈推荐用Ubuntu或Debian,这样,通过几条简单的apt命令就可以完成安装。

阅读全文 »
12
BG7EZY

BG7EZY

19 日志
11 分类
26 标签
GitHub E-Mail
© 2017 BG7EZY
由 Hexo 强力驱动
|
主题 — NexT.Pisces v5.1.2
本站访客 本站点击量