一个执着于技术的公众号

实战1 服务器禁止ping

iptables -A INPUT -p icmp --icmp-type 8 -s 0/0 -j DROP
// 禁止任何人ping通本机

除了上面禁止PING的方法,我们还可以通过修改内核配置实现,如下:

echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.conf
sysctl -p // 如果允许PING,则将 `ignore_all=1`,修改成 `ingore_all=0` 即可

实战2 利用iptables保护公司 web 服务器

2.1 web服务器配置:

1、安装httpd及vsftpd服务
yum -y install httpd
yum -y install vsftpd //安装vsfptd服务目的是为了对比iptables 2、启动httpd及vsftpd服务
systemctl start httpd
systemctl start vsftpd

2.2 客户端验证(未配置iptables)

测试web访问

测试vsftpd


2.3 配置iptables防火墙策略

iptables -A INPUT -i lo -j ACCEPT
// 放行环回口所有数据 iptables -A INPUT -p tcp -m multiport --dports 22,80 -j ACCEP
// 放行 TCP/22,80 端口 iptables -A INPUT -m state --state RELATED,ESTABLISHED -j ACCEPT
// 允许已经建立 tcp 连接的包以及该连接相关的包通过 iptables -P INPUT DROP
// 设置filter表INPUT链默认规则。当数据包没有被任何规则匹配时,则按默认规则拒绝所有

2.4 再次验证

测试web访问

测试vsftpd


测试结果正如我们所料:可以正常访问web服务,但由于iptables规则未放行ftp相关端口,因此无法访问ftp服务。

实战3 利用iptables搭建网关服务器

背景:公司使用双网卡Linux主机作为网关服务器,其中网卡eth0连接局域网,网卡eth1接入Internet。由于公司只注册了一个公网IP地址,要求合理配置网关策略,使局域网内的PC机可以通过共享的方式访问Internet,如下图所示:

具体实验步骤,点击:干货|利用iptables搭建网关服务器

实战4 利用iptables实现端口映射(DNAT)

实验拓扑图


4.1  qll252 web服务器

1、安装httpd服务
[root@qll252 ~]# yum -y install httpd 2、设置http服务首页内容
[root@qll252 ~]# echo 10.10.10.2 > index.html 3、启动httpd服务
[root@qll252 ~]# systemctl start httpd 4、指定qll251为网关
[root@qll252 ~]# vim /etc/sysconfig/network-scripts/ifcfg-eth0
GATEWAY=10.10.10.1 5、重启网卡服务
[root@qll252 ~]# systemctl restart network

4.2 在qll251上做DNAT

1、开启内核转发
echo "net.ipv4.ip_forward = 1" >> etc/sysctl.conf
sysctl -p 2、添加iptables规则
[root@qll252 ~]# iptables -t nat -A PREROUTING -d 20.20.20.20 -p tcp --dport 8000 -j DNAT --to 10.10.10.2:80 3、保存iptables规则
[root@qll251 ~]# service iptables save

4.3 验证


结果正如我们所料,浏览器上输入http://20.20.20.20:8000,即可跳转到qll252的内容,实现端口映射。

结语

如果您看完本文后有所收获, 还希望您随手点个在看 、或者分享转发。您的支持是我坚持分享的最大动力!

往期精彩

◆  必看 | Linux系列学习书籍免费送

◆  利用expect批量修改Linux服务器密码

◆  nginx+Keepalived 实现高可用集群

◆  干货 | LVM快照学习

◆  一文带你读懂nginx反向代理

◆  抓包工具tcpdump用法说明

◆  零成本 | 手把手教你搭建个人博客

◆  实战 | Hadoo大数据集群搭建

【深度好文】终于有人把云计算、大数据和AI讲明白了

◆  亿级web系统负载均衡几种实现方式

◆  一文带你读懂zookeeper在大数据生态的应用

好文和朋友一起看~

最新文章

  1. Android菜鸟成长记16 -- JSON的解析
  2. eclipse推荐的插件
  3. The Cow Lineup_找规律
  4. .Net知识点总结(一)
  5. POJ2411 Mondriaan's Dream 轮廓线dp
  6. UVA 10581 - Partitioning for fun and profit(数论递推)
  7. Kafka学习(一)配置及简单命令使用
  8. 如何与多个线程的操作epoll fd
  9. FPGA在AD采集中的应用
  10. springMVC入门思路整理
  11. showdoc 自动脚本安装
  12. 【转】用宏定义代替printf函数
  13. [UE4]小地图接口设计
  14. Vue下拉刷新组件
  15. c#:判断一个数组元素中否有重复元素
  16. 性能测试工具——Mxdperfstat
  17. 8个实用而有趣Bash命令提示行
  18. 安装完CentOS可以不做的事
  19. gcc编译把警告都输出成错误
  20. C++:哈希

热门文章

  1. Spring如何处理线程并发问题?
  2. SpringBoot项目集成swagger报NumberFormatException: For input string: ""
  3. java-idea创建maven管理web项目不能解析EL的解决方法
  4. Idea中使用Lombok 编译报找不到符号
  5. List集合工具类之"将list集合按"指定长度"进行切分Lists.partition和ListUtils.partition"
  6. vim recording的使用方法
  7. Pycharm使用 Ctrl+滚轮 调整字体大小
  8. 使用Google Closure Compiler高级压缩Javascript代码
  9. Codepen 每日精选(2018-4-28)
  10. HCNP Routing&Switching之组播技术-组播路由协议PIM