ставишь 2 сетевые карты, устанавливаешь микротик по дефолку и выполняешь вот такой скриптик
ether1 смотрит в локалку и имеет адрес 192.168.0.1/24
ether2 смотрит в pppoe и имеет адрес 192.168.1.3/24
в параметрах user и password указываешь свой логин и пароль, скрипт сам примет днс сервера и роут по дефолту
дальше обычный маскарадинг на pppoe-out интерфейс
set ether1-local name="ether1-local" mtu=1500 arp=enabled disable-running-check=yes auto-negotiation=yes full-duplex=yes cable-settings=default \
speed=100Mbps comment="" disabled=no
set ether2 name="ether2" mtu=1500 arp=enabled disable-running-check=yes auto-negotiation=yes full-duplex=yes cable-settings=default speed=100Mbps \
comment="" disabled=no
set enabled=yes max-mtu=1460 max-mru=1460 authentication=pap,chap,mschap1,mschap2 keepalive-timeout=30 default-profile=default-encryption
/ interface pppoe-client
add name="pppoe-out1" max-mtu=1480 max-mru=1480 interface=ether2 user="your_login" password="your_password" profile=default service-name="" ac-name="" \
add-default-route=yes dial-on-demand=no use-peer-dns=yes allow=pap,chap,mschap1,mschap2 disabled=no
add address=192.168.0.1/24 network=192.168.0.0 broadcast=192.168.0.255 interface=ether1-local comment="" disabled=no
add address=192.168.1.3/24 network=192.168.1.0 broadcast=192.168.1.255 interface=ether2 comment="" disabled=no
add chain=srcnat out-interface=pppoe-out1 action=masquerade comment="" disabled=no