Everybody knows it is. Check the current mainline versions and compare it.I love how the article labels the RoS version 6 kernel asANCIENT:-))
I don't know how to reach them? You can ask them to pin it if you want to.Ask moderators/staff to pin this topic
Yeah.Done, I hope someone reply.
I don't remember what you mean. The blackhole routes stop loops aka packets destined towards unused RFC6890 space. The RAW rules prevent NAT related exploits like NAT Slipstreaming etc, using RAW.THanks, in another thread you noted to use two raw rules to stop private IPs from leaking in or out of a routerwhen using NAT.
Is this a replacement for bogon rules or an addition to? I have used bogon rules but prefer doing so in ip routes - blackhole.
You need to do your own study on TCP Windowing, TCP tuning and Jumbo frames, why, when and where. I'm not going to teach 10+ years worth of knowledge into a random forum post.Please explain, what is the meaning of such a MTU replacement? The final (home) users will still be 1500. For example, to install 9000 on the server, NAS and switch, through which you will do backup, I still understand. And just change on all devices - I don’t understand what the point is.
/ip firewall rawI don't remember what you mean. The blackhole routes stop loops aka packets destined towards unused RFC6890 space. The RAW rules prevent NAT related exploits like NAT Slipstreaming etc, using RAW.THanks, in another thread you noted to use two raw rules to stop private IPs from leaking in or out of a routerwhen using NAT.
Is this a replacement for bogon rules or an addition to? I have used bogon rules but prefer doing so in ip routes - blackhole.
Seems pretty simple to me.......... and not the biggest ask in the world.
/ip route add distance=1 dst-address=10.0.0.0/8 type=unreachable add distance=1 dst-address=169.254.0.0/16 type=unreachable add distance=1 dst-address=172.16.0.0/12 type=unreachable add distance=1 dst-address=192.168.0.0/16 type=unreachable
/ip firewall address-list add list=unexpected-address-source-from-ISP address=10.0.0.0/8 add list=unexpected-address-source-from-ISP address=127.0.0.0/8 add list=unexpected-address-source-from-ISP address=169.254.0.0/16 add list=unexpected-address-source-from-ISP address=172.16.0.0/12 add list=unexpected-address-source-from-ISP address=192.0.0.0/24 add list=unexpected-address-source-from-ISP address=192.0.2.0/24 add list=unexpected-address-source-from-ISP address=192.88.99.0/24 add list=unexpected-address-source-from-ISP address=192.168.0.0/16 add list=unexpected-address-source-from-ISP address=198.18.0.0/15 add list=unexpected-address-source-from-ISP address=198.51.100.0/24 add list=unexpected-address-source-from-ISP address=203.0.113.0/24 add list=unexpected-address-source-from-ISP address=233.252.0.0/24 add list=unexpected-address-source-from-ISP address=240.0.0.0/5 add list=unexpected-address-source-from-ISP address=248.0.0.0/6 add list=unexpected-address-source-from-ISP address=252.0.0.0/7 add list=unexpected-address-source-from-ISP address=254.0.0.0/8 add list=unexpected-address-source-from-ISP address=my.public.wan.ip add list=unexpected-address-source-from-ISP address=pool.of.my.internal.public.ips add list=expected-adress-dst-from-ISP address=my.public.wan.ip add list=expected-adress-dst-from-ISP address=pool.of.my.internal.public.ips add list=expected-adress-from-LAN address=one.of.my.internal.public.ips add list=expected-adress-from-LAN address=another.of.my.internal.public.ips add list=expected-adress-from-LAN address=192.168.88.0/24 add list=expected-adress-from-LAN address=0.0.0.0 comment="Current network" add list=expected-adress-from-LAN address=224.0.0.0/4 comment=Multicast add list=expected-adress-from-LAN address=255.255.255.255 comment="Local Broadcast" /ip firewall raw add action=drop chain=prerouting in-interface=pppoe src-address-list=unexpected-address-source-from-ISP add action=drop chain=prerouting in-interface=pppoe dst-address-list=!expected-adress-dst-from-ISP add action=drop chain=prerouting in-interface=bri-lan src-address-list=!expected-adress-from-LAN /ip route add distance=1 dst-address=10.0.0.0/8 type=unreachable add distance=1 dst-address=169.254.0.0/16 type=unreachable add distance=1 dst-address=172.16.0.0/12 type=unreachable add distance=1 dst-address=192.0.0.0/24 type=unreachable add distance=1 dst-address=192.0.2.0/24 type=unreachable add distance=1 dst-address=192.88.99.0/24 type=unreachable add distance=1 dst-address=192.168.0.0/16 type=unreachable add distance=1 dst-address=198.18.0.0/15 type=unreachable add distance=1 dst-address=198.51.100.0/24 type=unreachable add distance=1 dst-address=203.0.113.0/24 type=unreachable add distance=1 dst-address=233.252.0.0/24 type=unreachable add distance=1 dst-address=240.0.0.0/5 type=unreachable add distance=1 dst-address=248.0.0.0/6 type=unreachable add distance=1 dst-address=252.0.0.0/7 type=unreachable add distance=1 dst-address=254.0.0.0/8 type=unreachable add distance=2 dst-address=my.unused.public.ip1 type=blackhole add distance=2 dst-address=my.unused.public.ip2 type=blackhole add distance=2 dst-address=my.unused.public.ip3 type=blackhole add distance=2 dst-address=my.unused.public.ip4 type=blackhole add distance=2 dst-address=my.unused.public.ip5 type=blackhole add distance=2 dst-address=my.unused.public.ip6 type=blackholeFor sure I forget something, but this is the example.
Your router must be a very powerful device to check all of these lists of rules or routes... this is the shortest path to choke your hardware. Isn't there any better way to do it?
The CPEs I use for my clients don't even notice it, and the rules are not heavy.Your router must be a very powerful device to check all of these lists of rules or routes... this is the shortest path to choke your hardware. Isn't there any better way to do it?
PROVE IT, or take your baseless comments elswhere [moderator intervention]Your router must be a very powerful device to check all of these lists of rules or routes... this is the shortest path to choke your hardware. Isn't there any better way to do it?
This time ... 2 weeks of vacationThis idiot is clearly trolling us here.
OMG, this is absolutely incredible!
Thanks! I'll be sure to check this out!
Exactly, is why is present ###RCHCK###What the hell happened here? Looks like bots or something.
/ip firewall nat add action=netmap chain=dstnat comment="Port Forwarding Solution for CGNAT (TCP)" dst-address=103.176.189.0/25 dst-port=1024-65535 protocol=tcp to-addresses=100.64.0.0/10 /ip firewall nat add action=netmap chain=dstnat comment="Port Forwarding Solution for CGNAT (UDP)" dst-address=103.176.189.0/25 dst-port=1024-65535 protocol=udp to-addresses=100.64.0.0/10
Yeah, default route is not going to do much with loose-mode of course, but that's a problem with MikroTik. They should support per-interface configuration for rp-filter, this way loose/strict can be applied properly depending on the routes from/for/to a given interface. This problem is only on MikroTik and similar OSes. On JunOS, we can configure it per interface for full advantage. No need for full tables logic. And even then, we should use feasible uRPF mode, not loose nor strict.I'd like to get some further clarification on a couple of topics
RP-Filtering. Can someone explain how loose mode is in any way different to 'none' when a default route exists in the table?
From what i've read, MikroTik does consider a default route when performing reverse path lookup. Hence every IP will be valid and thus it seems to me to be completely pointless on anything other than a router running the full BGP table and no default route installed. What am I missing?
The way i've used Netmap in the past is to effectively re-write the first 3 octets of an IP range, i.e. 100.70.5.77 i'm going to rewrite as 192.168.1.77 in order to reach the entire /24 subnet inside a customers network by using '100.70.5.x' instead of having to use a VPN or setup a bunch of port forwards (yes, obviously secured and firewalled appropriately, not allowed by the internet etc)
In the case of the above rules in the article, the way i'm reading it is 103.176.189.[0-127] is going to map to 100.64.0.[0-127] and thats it, clearly i'm missing a lot of this picture and I havn't been able to find an answer just looking online
I don't understand how the rule works and how it applies. If 100.64.0.129 (outside of the netmap range of public IP's) goes out the internet (I presume with a src-nat rule) then how does the netmap rule apply here? I presume the intention is that i.e. 100.64.0.129 goes to the internet, the srcnat rule has picked i.e. 103.176.189.5 with a source port of 443, and then somehow this netmap rule does a connection tracking lookup to see that port 443 was mapped to 100.64.0.129, thus all incoming traffic to 103.176.189.5:443 (ignoring the source IP from the direction of traffic coming 'in' from the internet) gets mapped back to 103.176.189.5
Effectively setting up a dynamic port forward, the same as if I manually created that rule
But this raises other questions, if thats how it works and an IP mapping effectively gets dynamically created in memory, then for how long and with what criteria? Is that until the router reboots? Until all connections on that port have timed out? I just don't understand how it works
You are confusing how port mapping works. MikroTik uses a code logic whereby if 100.64.0.10:1234 traffic comes in towards egress NAT interface, src-nat chain netmap action will map 100.64.0.10:1234 to public:1234. This ensures 1:1 port mapping, eliminating the need for TURN. However, for additional function the author added dst-nat to allow public:1234 back to 100.64.0.10:1234 - How does this work? You need to ask MikroTik as they didn't share the source code. But this implementation is not 100% perfect as it doesn't always map on dst-nat chain for ANY external IP. This is solved in the full cone EIM NAT technology, which right now is broken on MikroTik as it fails to support TCP, but this technology works 100% on Cisco, Juniper.
Dynamic/Static CGNAT IP doesn't matter, the stateful mechanism in addition to the blackhole routes for RFC6890 will ensure previously tracked states of customer 100.64.0.129, where now 100.64.0.129 was for a few seconds inactive, then re-assigned to new customer, are fully cleared from conn_track. You should read up on how conn_track mechanism works in Linux. You are asking a fundamental question, whose answer can be found in various Linux man pages.I understand this but what I don't understand is how it actually works in the above example
I would understand if customers have a static CGNAT address that never changes, but I was (perhaps wrongly) assuming that isn't the case, that a customer could have any randomly assigned address in the 100.64.0.0/10 range and still somehow have ports forwarded internally to them. And that somehow the initial outbound connection establishes this relationship
I still do not understand how this actually works in principle. Can you provide some examples? and how for example netmap works if a customer has the CGNAT IP address of 100.64.0.129 which falls beyond the 128 public IP addresses assigned. As again I am assuming netmap does a 1:1 address translation that maps a specific range to another specific range of equal size, so what actually happens when you have an internal IP beyond that mapped range? And is that internal IP taking the entirely of a public IP for all inbound sessions, or is it being divided whereby port 443 might go to .129 but port 80 goes to another customer i.e. .77