码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • Linux之iptables及firewall超详解


    目录

    一.搭建web服务,设置任何人能够通过80端口访问

     1.设置任何人都可以通过80端口访问web服务器

     2.查看配置表确保已经成功配置

     3.访问服务器可以看到成功访问

     4.删除策略

     5.发现不能访问

    二.禁止所有人ssh远程登录该服务器

     1.默认开放ssh服务,先在客户测试端远程登录

     2.添加策略,禁止所有人ssh远程登录

     3.在客户端上测试发现远程登陆失效

     4.由于使用的Xshell也是使用ssh远程登陆的,所以会断开,只能在VMware上删除策略

    三.禁止某个主机地址ssh远程登录该服务器,允许该主机访问服务器的web服务

     1.禁止客户端远程登录服务器

     2.在客户端测试

     3.添加策略允许客户端访问web服务

     4.客户端上测试成功访问到web服务

    四.禁止某个ip地址进行ssh访问

    在指定ip的机器上不能远程登录 

    五.配置端口转发(在192.168.40.0网段的主机访问该服务器的5423端口将被转发到80端口)

    1. 添加富规则进行端口转发

     2.重新加载配置

    3.访问5423端口 

    ​六.此规则将本机80端口转发到192.168.40.131的8080端口上


    一.搭建web服务,设置任何人能够通过80端口访问

     1.设置任何人都可以通过80端口访问web服务器

    [root@rhcsa ~]# iptables -I INPUT -p tcp --dport 80 -j ACCEPT

     2.查看配置表确保已经成功配置

    1. [root@rhcsa ~]# iptables -L --line-numbers
    2. Chain INPUT (policy ACCEPT)
    3. num target prot opt source destination
    4. 1 ACCEPT tcp -- anywhere anywhere tcp dpt:http
    5. 2 ACCEPT all -- anywhere anywhere state RELATED,ESTABLISHED
    6. 3 ACCEPT icmp -- anywhere anywhere
    7. 4 ACCEPT all -- anywhere anywhere
    8. 5 ACCEPT tcp -- anywhere anywhere state NEW tcp dpt:ssh
    9. 6 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
    10. Chain FORWARD (policy ACCEPT)
    11. num target prot opt source destination
    12. 1 REJECT all -- anywhere anywhere reject-with icmp-host-prohibited
    13. Chain OUTPUT (policy ACCEPT)
    14. num target prot opt source destination

     3.访问服务器可以看到成功访问

     4.删除策略

    [root@rhcsa ~]# iptables -D INPUT 1
    

     5.发现不能访问

    二.禁止所有人ssh远程登录该服务器

     1.默认开放ssh服务,先在客户测试端远程登录

    1. [root@rhce ~]# ssh root@192.168.40.129
    2. The authenticity of host '192.168.40.129 (192.168.40.129)' can't be established.
    3. ECDSA key fingerprint is SHA256:70V58bQzrfUci7EE23sAS/cd7Zjc3zbRhTx15uN1PVY.
    4. Are you sure you want to continue connecting (yes/no/[fingerprint])? yes
    5. Warning: Permanently added '192.168.40.129' (ECDSA) to the list of known hosts.
    6. root@192.168.40.129's password:
    7. Activate the web console with: systemctl enable --now cockpit.socket
    8. This system is not registered to Red Hat Insights. See https://cloud.redhat.com/
    9. To register this system, run: insights-client --register
    10. Last login: Sun Jul 31 08:16:08 2022 from 192.168.40.1

     2.添加策略,禁止所有人ssh远程登录

    iptables -I INPUT -p tcp --dport 22 -j REJECT

     3.在客户端上测试发现远程登陆失效

    1. [root@rhce ~]# ssh root@192.168.40.129
    2. ssh: connect to host 192.168.40.129 port 22: Connection refused

     4.由于使用的Xshell也是使用ssh远程登陆的,所以会断开,只能在VMware上删除策略

    三.禁止某个主机地址ssh远程登录该服务器,允许该主机访问服务器的web服务

     1.禁止客户端远程登录服务器

    [root@rhcsa ~]#  iptables -I INPUT -p tcp -s 192.168.40.131 --dport 22 -j REJECT

     2.在客户端测试

    1. [root@rhce ~]# ssh root@192.168.40.129
    2. ssh: connect to host 192.168.40.129 port 22: Connection refused

     3.添加策略允许客户端访问web服务

    [root@rhcsa ~]# iptables -I INPUT -p tcp -s 192.168.40.131 --dport 80 -j ACCEPT

     4.客户端上测试成功访问到web服务

    1. [root@rhce ~]# curl 192.168.40.120
    2. this is 8888

    四.禁止某个ip地址进行ssh访问

    1. #移除允许所有人通过ssh远程连接的配置
    2. [root@rhcsa ~]# firewall-cmd --permanent --remove-service=ssh
    3. success
    4. #添加富规则禁止特定的ip通过ssh远程连接
    5. [root@rhcsa ~]# firewall-cmd --permanent --add-rich-rule 'rule family="ipv4" source address="192.168.40.131" service name="ssh" reject'
    6. success
    7. #重新加载当前配置
    8. [root@rhcsa ~]# firewall-cmd --reload
    9. success
    1. [root@rhcsa ~]# firewall-cmd --list-all
    2. public (active)
    3. target: default
    4. icmp-block-inversion: no
    5. interfaces: ens160 ens224
    6. sources:
    7. services: cockpit dhcpv6-client http
    8. ports: 2222/tcp 8888/tcp
    9. protocols:
    10. forward: no
    11. masquerade: no
    12. forward-ports:
    13. source-ports:
    14. icmp-blocks:
    15. rich rules:
    16. rule family="ipv4" source address="192.168.40.131" service name="ssh" reject

    在指定ip的机器上不能远程登录 

    1. [root@rhce ~]# ssh root@192.168.40.129
    2. ssh: connect to host 192.168.40.129 port 22: Connection refused

    五.配置端口转发(在192.168.40.0网段的主机访问该服务器的5423端口将被转发到80端口)

    1. 添加富规则进行端口转发

    1. [root@rhcsa ~]# firewall-cmd --permanent --add-rich-rule='rule family="ipv4" source address="192.168.40.0/24" forward-port port="5423" protocol="tcp" to-port="80"'
    2. success

     2.重新加载配置

    1. [root@rhcsa ~]# firewall-cmd --reload
    2. success

    3.访问5423端口 


    六.此规则将本机80端口转发到192.168.40.131的8080端口上

    1. [root@rhcsa ~]# firewall-cmd --add-forward-port=port=80:proto=tcp:toport=8080:toaddr=192.168.40.131 --permanent
    2. success
    3. [root@rhcsa ~]# firewall-cmd --reload
    4. success

     

  • 相关阅读:
    机器学习笔记之支持向量机(三)模型求解
    通俗介绍:什么是 Redis ?
    LCR 024.反转链表
    .NET的两种部署模式,了解一下
    力扣------从根节点到叶节点的路径数字之和
    GEE两行代码下载任意范围影像python API
    navicat连接postgresql报错解决方案
    博途PLC 1200/1500PID PID_Temp 加热制冷双输出+级联控制(串级控制)
    互联网产品经理的月薪是多少?治好奇!
    【Qt控件之QListWidget】介绍及使用,利用QListWidget、QToolButton、和布局控件实现抽屉式组合控件
  • 原文地址:https://blog.csdn.net/weixin_64051859/article/details/126087657
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号