查看: 2687|回复: 6

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

[复制链接]

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


这东西怎么用啊。请高手来看看。这样的话。我们又可以省点投资了。

80

丝瓜

352

回帖

0

精华

普通用户

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

使用道具 举报

153

丝瓜

228

回帖

0

精华

普通用户

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

使用道具 举报

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
回复

使用道具 举报

94

丝瓜

332

回帖

0

精华

普通用户

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

使用道具 举报

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

使用道具 举报

440

丝瓜

946

回帖

0

精华

普通用户

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

使用道具 举报

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

本版积分规则

关注公众号
Archiver|手机版|小黑屋|第一纳斯网

相关侵权、举报、投诉及建议等,请发 E-mail:admin@discuz.vip

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.|粤ICP备19046372号

在本版发帖
关注公众号
QQ客服返回顶部