找回密码
 立即注册
[string global_login_extra]

QQ登录

只需一步,快速开始

扫一扫,访问移动社区

查看: 2181|回复: 6

[问答] 找到一个能把黑辉变成路由的东西。请高手来看看。

[复制链接]
  • TA的每日心情
    郁闷
    2014-5-27 01:38
  • 签到天数: 131 天

    [LV.7]常住居民III

    355

    丝瓜

    271

    回帖

    0

    精华

    普通用户

    发表于 2014-5-2 23:39:46 | 显示全部楼层 |阅读模式

    注册后可查看完整内容!

    您需要 登录 才可以下载或查看,没有账号?立即注册

    ×
    # Script to enable port forwarding and IP Masquerading, to share
    # the primary internet connection to the second port of DS1512+

    action=$1
    shift;

    local INT_IFACE="eth1"
    local IFCFG_FILE="/etc/sysconfig/network-scripts/ifcfg-${INT_IFACE}"
    local DHCPD_CONF="/etc/dhcpd/dhcpd.conf"
    local RULES_NAT="/etc/firewall_rules_nat.dump"

    logerr() { # [logger args] [msgs...]
            local TAG="nat_router"
            [ ! -z $action ] && TAG="${TAG} (${action})"
            logger -p user.err -t "${TAG}" "$@"
    }

    # Guard to prevent execution if NAT is not supposed to be enabled
    [ -e $IFCFG_FILE -a -e ${DHCPD_CONF} ] || { logerr "Missing config files"; exit 1; }

    local IPADDR=`get_key_value ${IFCFG_FILE} IPADDR`
    local NETMASK=`get_key_value ${IFCFG_FILE} NETMASK`
    local IS_ROUTER=`grep option:router ${DHCPD_CONF} | grep -c ${IPADDR}`

    [ ${IS_ROUTER} -eq 0 ] && { logerr "Routing mode not enabled on ${INT_IFACE}"; exit 1; }

    # Calculate local network CIDR
    local CIDR_PREFIX=`ipcalc -p ${IPADDR} ${NETMASK} | cut -d'=' -f2`
    local CIDR_IP=`ipcalc -n ${IPADDR} ${NETMASK} | cut -d'=' -f2`
    local CIDR="${CIDR_IP}/${CIDR_PREFIX}"

    setup_nat() {
            # Enable port forwarding, in case not enabled by default
            echo 1 > /proc/sys/net/ipv4/ip_forward

            # Load the required modules
            /usr/syno/etc.defaults/rc.d/S01iptables.sh load_nat_mod forwarding_test
    }

    load_nat_rules() {
            if [ -e ${RULES_NAT} ]; then
                    /sbin/iptables-restore -n < ${RULES_NAT} &> /dev/null
                    if [ $? -eq 0 ]; then
                            logerr "NAT rules loaded successfully"
                    else
                            logerr "Error loading NAT rules from: ${RULES_NAT}"
                            exit 1;
                    fi
            else
                    logerr "No NAT rules found"
            fi

            # Define the masquerading rule
            /sbin/iptables -t nat -D POSTROUTING -s ${CIDR} -j MASQUERADE &> /dev/null   # don't add twice
            /sbin/iptables -t nat -A POSTROUTING -s ${CIDR} -j MASQUERADE
    }

    save_nat_rules() {
            local TMP_RULES="/tmp/firewall_rules_nat.tmp"

            echo "# $(date)" > ${TMP_RULES}
            echo "*nat" >> ${TMP_RULES}

            /sbin/iptables-save -t nat | grep "\-j DNAT" | uniq >> ${TMP_RULES}

            echo "COMMIT" >> ${TMP_RULES}
            mv -f ${TMP_RULES} ${RULES_NAT}

            logerr "NAT rules saved to ${RULES_NAT}"
    }

    clear_nat_rules() {
            /sbin/iptables-save -t nat |grep "\-j DNAT" | sed 's/^-A /-D /g' | while read line; do
                    if [ ! -z $line ]; then
                            /sbin/iptables -t nat $line &> /dev/null
                    fi
            done

            /sbin/iptables -t nat -D POSTROUTING -s ${CIDR} -j MASQUERADE &> /dev/null
    }

    case "$action" in
            start)
                    setup_nat
                    load_nat_rules
                    ;;
            stop)
                    save_nat_rules
                    clear_nat_rules
                    ;;
            restart)
                    save_nat_rules
                    clear_nat_rules
                    load_nat_rules
                    ;;
            *)
                    echo "Usage: $0 [start|stop|restart]"
                    ;;
    esac

    exit 0


    这东西怎么用啊。请高手来看看。这样的话。我们又可以省点投资了。
  • TA的每日心情
    开心
    2014-5-24 20:58
  • 签到天数: 43 天

    [LV.5]常住居民I

    80

    丝瓜

    352

    回帖

    0

    精华

    普通用户

    发表于 2014-5-3 00:41:59 | 显示全部楼层
    ……以为是教程!!
    回复

    使用道具 举报

  • TA的每日心情
    郁闷
    2014-5-22 00:42
  • 签到天数: 96 天

    [LV.6]常住居民II

    153

    丝瓜

    228

    回帖

    0

    精华

    普通用户

    发表于 2014-5-3 00:44:12 | 显示全部楼层
    如果能添加路由功能就牛了,再插个USB无线网卡做AP就完美了。
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2014-4-27 19:54
  • 签到天数: 142 天

    [LV.7]常住居民III

    3047

    丝瓜

    540

    回帖

    6

    精华

    贡献会员

    Medal No.1Medal No.2Medal No.3Medal No.4Medal No.5

    发表于 2014-5-3 21:32:20 | 显示全部楼层
    本帖最后由 sancome 于 2014-5-5 10:26 编辑

    我写了个教程:http://www.nas1.cn/thread-83885-1-1.html
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-29 08:28
  • 签到天数: 42 天

    [LV.5]常住居民I

    94

    丝瓜

    332

    回帖

    0

    精华

    普通用户

    发表于 2014-5-4 10:41:18 | 显示全部楼层
    sancome大 又一力作
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2014-5-29 08:28
  • 签到天数: 126 天

    [LV.7]常住居民III

    186

    丝瓜

    532

    回帖

    0

    精华

    普通用户

    发表于 2014-5-4 11:34:09 | 显示全部楼层
    支持了·······
    回复

    使用道具 举报

  • TA的每日心情
    擦汗
    2014-5-29 00:04
  • 签到天数: 108 天

    [LV.6]常住居民II

    440

    丝瓜

    946

    回帖

    0

    精华

    普通用户

    发表于 2014-5-5 09:03:21 | 显示全部楼层
    路过看看,学习一下。
    回复

    使用道具 举报

    懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    [string global_footer]

    QQ|Archiver|手机版|小黑屋|第一纳斯网 ( 粤ICP备19046372号 )[string global_footerlink]

    GMT+8, 2024-11-22 09:01

    Powered by Discuz! X3.5

    © 2001-2024 Discuz! Team.

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