iptables系列教程(三)| iptables 实战篇

网友投稿 695 2022-05-30

实战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` 即可

iptables系列教程(三)| iptables 实战篇

实战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访问

关注微信公众号【开源Linux】,后台回复『10T』,领取10T学习资源大礼包,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频

测试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)

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】,后台回复『10T』,领取10T学习资源大礼包,涵盖Linux、虚拟化、容器、云计算、网络、Python、Go等书籍和视频

云计算

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:想要高薪必须具备的MySQL的高级能力之隔离级别及其区别
下一篇:Python 并发编程之进程理论知识 -> 进程的创建与结束
相关文章