找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888
查看: 14313|回复: 8

iptables设置求指导!【已解决】

[复制链接]
发表于 2014-8-23 20:56 | 显示全部楼层 |阅读模式
本帖最后由 andyxie5585 于 2014-8-24 19:02 编辑

折腾了很久了,有个运行shadowsocks的路由器,接在主路由下当二级路由时,下面的电脑可以透明的科学上网,现在想把这个路由器接在主路由器下当交换机使用,关闭这个路由器上的DHCP,并设置和主路由同网段的IP地址及网关、dns,然后用lan口连接上级路由器的lan口,其它应用都正常,shadowsocks也运行了,就是翻不了,求指导,不知道怎么弄那里面的iptables.
我主路由器ip:192.168.1.1,网关、dns也是192.168.1.1
shadowsocks路由器ip:192.168.1.88,设置网关、dns为192.168.1.1

已解决:客户端网关及dns需要设置为shadowsocks路由器地址,shadowsocks路由器上网关及dns为上级路由器地址。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-8-23 21:05 | 显示全部楼层
贴上shadowsocks运行脚本:
#!/bin/sh /etc/rc.common

START=95
STOP=95

ss_local_PID_FILE="/var/run/ss-local.pid"
ss_redir_PID_FILE="/var/run/ss-redir.pid"
ipset_blacklist="/etc/ipset/blacklist"
ipset_whitelist="/etc/ipset/whitelist"

start() {
        # HACK fd
        ulimit -n 4096
       
        config_load "shadowsocks"
        local enabled remote rport lport pass redir_enabled redir_port whitelist_enabled blacklist_enabled
        config_get enabled config enabled
        config_get remote config remote_server
        config_get rport config remote_port
        config_get lport config local_port
        config_get cipher config cipher
        config_get pass config password
        config_get redir_enabled config redir_enabled
        config_get redir_port config redir_port
        config_get whitelist_enabled config whitelist_enabled
        config_get blacklist_enabled config blacklist_enabled

        [ -z "$remote" ] || [ -z "$rport" ] || [ -z "$lport" ] || [ -z "$pass" ] && {
                echo "missing parameters. check config"
                return 1
        }

        [ "$enabled" = '1' ] && {
                service_start /usr/bin/ss-local -s "$remote" -p "$rport" -l "$lport" ${cipher:+-m $cipher} -k "$pass" -u -f "$ss_local_PID_FILE"
        }

        [ "$redir_enabled" = '1' ] && {
                service_start /usr/bin/ss-redir -s "$remote" -p "$rport" -l "$redir_port" ${cipher:+-m $cipher} -k "$pass" -f "$ss_redir_PID_FILE"
               
                remoteip="`resolveip -t5 $remote`"

                iptables -t nat -N SHADOWSOCKS
                iptables -t nat -A SHADOWSOCKS -d 0.0.0.0/8 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d 10.0.0.0/8 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d 127.0.0.0/8 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d 169.254.0.0/16 -j RETURN
              iptables -t nat -A SHADOWSOCKS -d 192.168.0.0/16 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d 172.16.0.0/12 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d 224.0.0.0/4 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d 240.0.0.0/4 -j RETURN
                iptables -t nat -A SHADOWSOCKS -d $remoteip -j RETURN

                [ "$blacklist_enabled" = '1' ] && {
                        sed -e "s/^/-A blacklist &/g" -e "1 i\-N blacklist nethash --hashsize 64" $ipset_blacklist | ipset -R -!
                        iptables -t nat -A SHADOWSOCKS -p tcp -m set --match-set blacklist src -j RETURN
                }

                if [ "$whitelist_enabled" = '1' ];then
                        sed -e "s/^/-A whitelist &/g" -e "1 i\-N whitelist nethash --hashsize 4096" $ipset_whitelist | ipset -R -!
                        iptables -t nat -A SHADOWSOCKS -p tcp -m set ! --match-set whitelist dst -j REDIRECT --to-ports $redir_port
                else
                        iptables -t nat -A SHADOWSOCKS -p tcp -j REDIRECT --to-ports $redir_port
                fi
                iptables -t nat -I zone_lan_prerouting -j SHADOWSOCKS              
        }
}

ss_local_stop() {
        service_stop /usr/bin/ss-local && {
                rm -rf "$ss_local_PID_FILE"
        }
}

ss_redir_stop() {
        service_stop /usr/bin/ss-redir && {
                iptables -t nat -D zone_lan_prerouting -j SHADOWSOCKS &> /dev/null
                iptables -t nat -F SHADOWSOCKS &> /dev/null
                sleep 1
                iptables -t nat -X SHADOWSOCKS &> /dev/null
                ipset destroy whitelist &> /dev/null
                ipset destroy blacklist &> /dev/null
                rm -rf "$ss_redir_PID_FILE"
        }
}

stop() {
        ss_local_stop
        ss_redir_stop
}
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-8-24 09:25 | 显示全部楼层
每日一顶!
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2014-8-24 11:50 | 显示全部楼层
resolveip
这个安装了没?
是用blacklist 还是 whitelist?

点评

好像iptables -t nat -A SHADOWSOCKS -d $remoteip -j RETURN 这句没有生效,应该不会有多大影响吧,我换成二级路由器再看看有没有生效。  详情 回复 发表于 2014-8-24 14:28
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-8-24 14:12 | 显示全部楼层
本帖最后由 andyxie5585 于 2014-8-24 14:27 编辑

resolveip 有安装,blacklist 和whitelist都没有启用,请看图。

root@OpenWrt:~# resolveip
Usage:
        resolveip -h
        resolveip [-t timeout] hostname
        resolveip -4 [-t timeout] hostname
        resolveip -6 [-t timeout] hostname

root@OpenWrt:~# iptables -t nat -L
Chain PREROUTING (policy ACCEPT)
target     prot opt source               destination
delegate_prerouting  all  --  anywhere             anywhere
REDIRECT   udp  --  anywhere             anywhere            udp dpt:domain redi  r ports 5353

Chain INPUT (policy ACCEPT)
target     prot opt source               destination

Chain OUTPUT (policy ACCEPT)
target     prot opt source               destination

Chain POSTROUTING (policy ACCEPT)
target     prot opt source               destination
delegate_postrouting  all  --  anywhere             anywhere

Chain MINIUPNPD (1 references)
target     prot opt source               destination

Chain SHADOWSOCKS (2 references)
target     prot opt source               destination
RETURN     all  --  anywhere             0.0.0.0/8
RETURN     all  --  anywhere             10.0.0.0/8
RETURN     all  --  anywhere             127.0.0.0/8
RETURN     all  --  anywhere             169.254.0.0/16
RETURN     all  --  anywhere             192.168.0.0/16
RETURN     all  --  anywhere             172.16.0.0/12
RETURN     all  --  anywhere             224.0.0.0/4
RETURN     all  --  anywhere             240.0.0.0/4
REDIRECT   tcp  --  anywhere             anywhere            redir ports 12345
RETURN     all  --  anywhere             0.0.0.0/8
RETURN     all  --  anywhere             10.0.0.0/8
RETURN     all  --  anywhere             127.0.0.0/8
RETURN     all  --  anywhere             169.254.0.0/16
RETURN     all  --  anywhere             192.168.0.0/16
RETURN     all  --  anywhere             172.16.0.0/12
RETURN     all  --  anywhere             224.0.0.0/4
RETURN     all  --  anywhere             240.0.0.0/4
REDIRECT   tcp  --  anywhere             anywhere            redir ports 12345

Chain delegate_postrouting (1 references)
target     prot opt source               destination
postrouting_rule  all  --  anywhere             anywhere            /* user chain for postrouting */
zone_lan_postrouting  all  --  anywhere             anywhere
zone_wan_postrouting  all  --  anywhere             anywhere

Chain delegate_prerouting (1 references)
target     prot opt source               destination
prerouting_rule  all  --  anywhere             anywhere            /* user chain for prerouting */
zone_lan_prerouting  all  --  anywhere             anywhere
zone_wan_prerouting  all  --  anywhere             anywhere

Chain postrouting_lan_rule (1 references)
target     prot opt source               destination

Chain postrouting_rule (1 references)
target     prot opt source               destination

Chain postrouting_wan_rule (1 references)
target     prot opt source               destination

Chain prerouting_lan_rule (1 references)
target     prot opt source               destination

Chain prerouting_rule (1 references)
target     prot opt source               destination

Chain prerouting_wan_rule (1 references)
target     prot opt source               destination

Chain zone_lan_postrouting (1 references)
target     prot opt source               destination
postrouting_lan_rule  all  --  anywhere             anywhere            /* user chain for postrouting */

Chain zone_lan_prerouting (1 references)
target     prot opt source               destination
SHADOWSOCKS  all  --  anywhere             anywhere
SHADOWSOCKS  all  --  anywhere             anywhere
prerouting_lan_rule  all  --  anywhere             anywhere            /* user chain for prerouting */

Chain zone_wan_postrouting (1 references)
target     prot opt source               destination
postrouting_wan_rule  all  --  anywhere             anywhere            /* user chain for postrouting */
MASQUERADE  all  --  anywhere             anywhere

Chain zone_wan_prerouting (1 references)
target     prot opt source               destination
MINIUPNPD  all  --  anywhere             anywhere
prerouting_wan_rule  all  --  anywhere             anywhere            /* user chain for prerouting */
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-8-24 14:28 | 显示全部楼层
leenchan 发表于 2014-8-24 11:50
resolveip
这个安装了没?
是用blacklist 还是 whitelist?

好像iptables -t nat -A SHADOWSOCKS -d $remoteip -j RETURN
这句没有生效,应该不会有多大影响吧,我换成二级路由器再看看有没有生效。

点评

原来从公司拿回来时,这个路由器上的网关、dns没有改,改后这条语句也生效了,不过透明代理还是翻不了。  详情 回复 发表于 2014-8-24 15:34
原来从公司拿回来时,这个路由器上的网关、dns没有改,改后这条语句也生效了,不过透明代理还是翻不了。  详情 回复 发表于 2014-8-24 15:34
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-8-24 15:34 | 显示全部楼层
andyxie5585 发表于 2014-8-24 14:28
好像iptables -t nat -A SHADOWSOCKS -d $remoteip -j RETURN
这句没有生效,应该不会有多大影响吧,我 ...

原来从公司拿回来时,这个路由器上的网关、dns没有改,改后这条语句也生效了,不过透明代理还是翻不了。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
 楼主| 发表于 2014-8-24 15:34 | 显示全部楼层
andyxie5585 发表于 2014-8-24 14:28
好像iptables -t nat -A SHADOWSOCKS -d $remoteip -j RETURN
这句没有生效,应该不会有多大影响吧,我 ...

原来从公司拿回来时,这个路由器上的网关、dns没有改,改后这条语句也生效了,不过透明代理还是翻不了。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2016-8-30 08:18 | 显示全部楼层
不错。有帮助。谢谢骚年啊。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛上一条 /1 下一条

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2024-9-23 07:26

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表