在防火墙 CentOS 6.2 中通过 iptables 设置 openvpn 规则

在防火墙 CentOS 6.2 中通过 iptables 设置 openvpn 规则

防火墙 (FW),三段:

  • eth0:172.16.1.101
  • eth1:192.168.99.99(局域网)
  • eth2:10.0.0.1(DMZ)

openvpn用隧道模式安装在FW中,已经可以了:

  • tun0:192.168.10.0/24。

如果我使用shorewall代理squid固件就可以了。旁边可以使用我公司的服务连接到FW、LAN、DMZ。

现在,我想使用iptables规则+squid代理。

openvpn 需要设置什么规则?

我设置了以下规则,但未连接到安装的服务器防火墙openvpn

  • 数据包转发

    net.ipv4.ip_forward = 1

  • 开放VPN

    iptables -A INPUT -i eth0 -m state --state NEW -p udp --dport 1194 -j ACCEPT

  • 允许 TUN 接口连接到 OpenVPN 服务器

    iptables -A INPUT -i tun+ -j ACCEPT

  • 允许TUN接口连接通过其他接口转发

    iptables -A FORWARD -i tun+ -j ACCEPT
    iptables -A FORWARD -i tun+ -o eth0 -m state --state RELATED,ESTABLISHED -j ACCEPT
    iptables -A FORWARD -i eth0 -o tun+ -m state --state RELATED,ESTABLISHED -j ACCEPT
    
  • 将 VPN 客户端流量通过 NAT 传输至互联网

    iptables -t nat -A POSTROUTING -s 192.168.10.0/24 -o eth0 -j MASQUERADE

  • 如果您的默认 iptables OUTPUT 值不是 ACCEPT,您还需要如下行:

    iptables -A OUTPUT -o tun+ -j ACCEPT
    

相关内容