192.168.2.0/24 是一个CIDR(无类域间路由)表示法,用于定义一个IPv4子网范围。在这个例子中,它表示一个子网掩码为255.255.255.0的网络范围,具体解释如下:

  • 192.168.2.0 是子网的网络地址。
  • /24 表示子网掩码的前24位是1,相当于255.255.255.0

因此,192.168.2.0/24 表示一个包含256个IP地址的子网,范围从 192.168.2.0192.168.2.255。在这个范围内,192.168.2.0 是网络地址,192.168.2.255 是广播地址,通常可用的主机地址是 192.168.2.1192.168.2.254

禁止VPN客户端访问内网IP的特定端口

假设你在OCServ配置中指定了 ipv4-network = 192.168.2.0,那么VPN客户端将获得 192.168.2.1192.168.2.254 范围内的IP地址。为了禁止这些VPN客户端访问内网IP 192.168.1.100 的TCP和UDP端口8080,可以使用以下iptables规则:

# 禁止VPN客户端访问目标内网IP的TCP端口8080
sudo iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.100 -p tcp --dport 8080 -j REJECT

# 禁止VPN客户端访问目标内网IP的UDP端口8080
sudo iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.100 -p udp --dport 8080 -j REJECT

详细解释

  • -s 192.168.2.0/24:指定源IP地址范围,即所有从 192.168.2.0192.168.2.255 的IP地址,这些是分配给VPN客户端的地址。
  • -d 192.168.1.100:指定目标IP地址,即内网中的目标服务器IP地址。
  • -p tcp:指定协议为TCP。
  • -p udp:指定协议为UDP。
  • --dport 8080:指定目标端口为8080。
  • -j REJECT:拒绝匹配的数据包,并向发送方返回一个不可达的ICMP错误。

设置并保存防火墙规则

  1. 应用防火墙规则:
    执行上述命令应用防火墙规则:

    sudo iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.100 -p tcp --dport 8080 -j REJECT
    sudo iptables -A FORWARD -s 192.168.2.0/24 -d 192.168.1.100 -p udp --dport 8080 -j REJECT
  2. 保存防火墙规则:
    确保防火墙规则在重启后依然有效。

    • 对于CentOS/RHEL:

      sudo service iptables save
    • 对于Ubuntu/Debian:

      安装 iptables-persistent 包并保存规则:

      sudo apt-get install iptables-persistent
      sudo netfilter-persistent save

验证规则

  1. 查看iptables规则:
    确认规则已正确添加:

    sudo iptables -L -v -n
  2. 测试连接:
    连接到OCServ VPN,并尝试访问被禁止的IP和端口,确保访问被拒绝。

通过这些步骤,你可以有效地禁止OCServ VPN客户端访问特定内网IP的指定端口。

Last modification:May 30, 2024
如果觉得我的文章对你有用,请随意赞赏