|
发表于 2008-9-18 04:32:55
|
显示全部楼层
修正后:
1.设置PPPOECLIENT 这个不用说了吧^_^ (注意:加的时候把2个中的的一个 "Add Default Route"前面的勾勾掉)
2.改pppoe-out1和pppoe-out2的名字:如改pppoe-out1为ADSL1 改pppoe-out2为ADSL2
改名字的脚本如下:
直接复制
==================
/int set [/int find name=pppoe-out1] name "ADSL1"
/int set [/int find name=pppoe-out2] name "ADSL2"
3.在IP-ADDRESS里加IP地址
自动加IP地址的<脚本>如下:
直接复制
==================
:local ip1 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL1"] address]
:local ip2 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL2"] address]
:set ip1 [:pick $ip1 0 ([:len $ip1]-3)]
:set ip2 [:pick $ip2 0 ([:len $ip2]-3)]
/ip add add address=($ip1 . "/32") interface="ADSL1" comment= "ADSL1" disabled=no
/ip add add address=($ip2 . "/32") interface="ADSL2" comment= "ADSL2" disabled=no
4.标记连接和路由、IP伪装、路由表添加
直接复制
1: 标记连接和路由
==================
/ ip firewall mangle
add chain=prerouting in-interface="LAN" connection-state=new nth=1,1,0 \
action=mark-connection new-connection-mark=odd passthrough=yes comment="" \
disabled=no
add chain=prerouting in-interface="LAN" connection-mark=odd action=mark-routing \
new-routing-mark=odd passthrough=no comment="" disabled=no
add chain=prerouting in-interface="LAN" connection-state=new nth=1,1,1 \
action=mark-connection new-connection-mark=even passthrough=yes comment="" \
disabled=no
add chain=prerouting in-interface="LAN" connection-mark=even action=mark-routing \
new-routing-mark=even passthrough=no comment="" disabled=no
2: IP伪装
===================
:local ip1 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL1"] address]
:local ip2 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL2"] address]
:set ip1 [:pick $ip1 0 ([:len $ip1]-3)]
:set ip2 [:pick $ip2 0 ([:len $ip2]-3)]
/ ip firewall nat
add chain=srcnat connection-mark=odd action=src-nat to-addresses=$ip1 \
to-ports=0-65535 comment="" disabled=no
add chain=srcnat connection-mark=even action=src-nat to-addresses=$ip2 \
to-ports=0-65535 comment="" disabled=no
3: 路由表添加
==================
:local ip1 [/ip add get [/ip add find comm="ADSL1"] network]
:local ip2 [/ip add get [/ip add find comm="ADSL2"] network]
/ ip route
add dst-address=0.0.0.0/0 gateway=$ip1 scope=255 target-scope=10 routing-mark=odd \
comment="ADSL1" disabled=no
add dst-address=0.0.0.0/0 gateway=$ip2 scope=255 target-scope=10 routing-mark=even \
comment="ADSL2" disabled=no
(这条也加标注的原因是为了后面的自动改网关脚本)
========================================================================================
到这里内网的机器已经可以上网了。下面的就是控制IP改动的脚本
把下面的两个脚本添加到SYSTEM-SCRIPT里。命名为"change IP"和"change route"
change IP
==================
:local ip1 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL1"] address]
:local ip2 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL2"] address]
:local ip3 [/ip add get [/ip add find comment= "ADSL1"] network]
:local ip4 [/ip add get [/ip add find comment= "ADSL2"] network]
:set ip1 [:pick $ip1 0 ([:len $ip1]-3)]
:set ip2 [:pick $ip2 0 ([:len $ip2]-3)]
:if ($ip1 != $ip3) do={/ip add set [/ip add find comment="ADSL1"] address ($ip1 . "/32") broa $ip1 network $ip1}
:if ($ip2 != $ip4) do={/ip add set [/ip add find comment="ADSL2"] address ($ip2 . "/32") broa $ip1 network $ip1}
change route
==================
:local ip1 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL1"] address]
:local ip2 [/ip add get [/ip add find broa=0.0.0.0 interface="ADSL2"] address]
:local ip3 [/ip fir nat get [/ip fir nat find connection-mark=odd] to-addresses]
:local ip4 [/ip fir nat get [/ip fir nat find connection-mark=even] to-addresses]
:local ip5 [/ip route get [/ip route find routing-mark=odd] gateway]
:local ip6 [/ip route get [/ip route find routing-mark=even] gateway]
:set ip1 [:pick $ip1 0 ([:len $ip1]-3)]
:set ip2 [:pick $ip2 0 ([:len $ip2]-3)]
:if ($ip1 != $ip3) do={/ip fir nat set [/ip fir nat find connection-mark=odd] to-addresses $ip1}
:if ($ip1 != $ip5) do={/ip route set [/ip route find routing-mark=odd] gateway $ip1}
:if ($ip2 != $ip4) do={/ip fir nat set [/ip fir nat find connection-mark=even] to-addresses $ip2}
:if ($ip2 != $ip6) do={/ip route set [/ip route find routing-mark=even] gateway $ip2}
添加任务
直接复制
==================
/ system scheduler
add name="change ip" on-event="" start-date=jan/01/1970 \
start-time=00:00:00 interval=2s comment="" disabled=no
add name="change route" on-event="" start-date=jan/01/1970 \
start-time=00:00:00 interval=2s comment="" disabled=no
[ 本帖最后由 huqingbo 于 2008-9-18 04:35 编辑 ] |
|