Default config allows incoming icmp from any interface, edit all the firewall rules and change the incoming interface to your pppoe which is the connection that needs protection and remove the default icmp allow rule since mikrotik firewall has a default accept policy the icmp packets will go through all the filter chain until the last input drop all rule which will drop icmp. i imagine if you want to block echo you won’t want to allow other icmp codes. if you wan’t to block outbound icmp then don’t forward it from lan to wan or don’t src-nat it out pppoe interface.
*Edit:
@CZFan
You’re right, good catch, everything to the public ip without a dst-nat is been redirected to lan host and lan host is allowed to respond out pppoe in src-nat
add action=dst-nat chain=dstnat comment=DMZ in-interface=pppoe-out1 to-addresses=192.168.2.109
add action=masquerade chain=srcnat comment=“defconf: masquerade” out-interface=pppoe-out1
this is your problem rule,
add action=dst-nat chain=dstnat comment=DMZ in-interface=pppoe-out1 to-addresses=192.168.2.109
All traffic not catched by a previous dst-nat rule heading to the public ip will be sent to this internal host, edit the rule and set only exactly what you need to be forwarded to this host all else will be processed in filter by the router insted of handed off to dst-nat before filter.