经过长达近一个星期的折腾,Open×××客户端终于可以和Server内网的客户端进行通信,其中防火墙占用了大部分时间,主要还是不太熟悉Iptables的各种设置方式以及规则(对CentOS7的Firewalld更熟悉),简单写一下Server配置文件以及客户端的配置文件,重点是防火墙!同时感谢 https://wanglu.info/1306.html  这篇文章的作者配置,成功连通了内网。


硬件:Linksys WRT-1900ACS V2

系统:LEDE 17.01.4


本人是想在自己路由器上搭建一个Open×××服务,用来随时访问自己的一些资料,之前有在CentOS7系统及Firewalld.service防火墙下成功搭建过,结果在Openwrt的Iptables栽了很大的跟头,并且主要问题就是自己iptables的防火墙不熟,导致简单的问题查找起来很伤脑筋- -!。


原作者使用的是udp的方式,本人使用的是tcp方式,因为公司宽带很不给力(长宽企业用户,无公网ip),udp方式出不去,所以切换成tcp方式  ,经过测试,如果用udp连接的话请按照原作者的方法可以实现


Server的配置    配置文件在/etc/config/open***


config open*** 'home'
        option dev 'tun'
        option comp_lzo 'yes'
        option keepalive '10 60'
        option verb '3'
        option server '10.8.0.0 255.255.255.0'
        option client_to_client '1'
        option port '1194'
        option dev_type 'tun'
        option proto 'tcp'
        option ca '/etc/easy-rsa/keys/ca.crt'
        option dh '/etc/easy-rsa/keys/dh2048.pem'
        option cert '/etc/easy-rsa/keys/server.crt'
        option key '/etc/easy-rsa/keys/server.key'
        option enabled '1'
        list push 'redirect-gateway def1'
        list route "10.8.0.0 255.255.255.0"
        #option topology subnet


原作者加了topology subnet ,经过本人测试不加该参数也能够正常使用,不过list push 'redirect-gateway def1' 这个参数如果不加的话,经测试是无法ping通内网,该命令是为了将所有流量通过×××网络进行传输。


Client端的配置  


client
dev tun
proto tcp
remote taoyeno1.oicp.net 1194
resolv-retry infinite
nobind
persist-key
persist-tun
ca "C:\\Program Files\\Open×××\\config\\ca.crt"
cert "C:\\Program Files\\Open×××\\config\\taoye.crt"
key "C:\\Program Files\\Open×××\\config\\taoye.key"
ns-cert-type server
#tls-auth ta.key 1
comp-lzo
verb 3
auth-nocache


配置完成后如果防火墙不做配置的话,内网的网关是可以ping通的,但内网的客户端是无法ping通的,而且会提示“来自 10.8.0.1 的回复: 无法连到端口。”的提示。


经过测试,原文作者的文章配置是可以成功ping通内网的,而且可以更简单


直接在/etc/firewall.user下面添加四条规则即可


iptables -I INPUT -i tun+ -j ACCEPT
iptables -I FORWARD -i tun+ -j ACCEPT
iptables -I OUTPUT -o tun+ -j ACCEPT
iptables -I FORWARD -o tun+ -j ACCEPT


即允许外部的流量访问tun网卡,以及允许tun往外访问流量。


每个人的Openwrt配置都不太相同,本人加了这四条命令即可从***客户端访问内网的服务器了,原作者的防火墙规则以及iptables -A nat 均没有添加即可访问,所以还是需要根据情况具体对待。


原创作者地址:https://wanglu.info/1306.html   感谢原作者的辛勤付出!