I don't understand why this works. Why doesn't my ISP simply block outgoing packages with "fake" source IPs?
> BCP38 is designed to filter such spoofed traffic, so that it never even traverses the network of an ISP that’s adopted the anti-spoofing measures. However, there are non-trivial economic reasons that many ISPs fail to adopt this best practice. This blog post [2] from the Internet Society does a good job of explaining why many ISPs ultimately decide not to implement BCP38.
[1] https://krebsonsecurity.com/2016/09/the-democratization-of-c...
[2] http://www.internetsociety.org/deploy360/blog/2014/07/anti-s...
First, old (>10 years) networking hardware may be unable to support it. All new hardware can do it, but some old stuff can't, and some ISPs haven't budgeted for the update. Response: 10 years is forever in the hardware cycle. This isn't a woodworking business, where old heavy iron is a good thing. Sensible businesses budget for returns on investment and mean time between failure on shorter time scales.
Second, the labor to install network hardware replacements and perform configuration updates is expensive. Response: That's literally your job, you don't get paid to sit around and collect money.
Third, and most importantly, the costs of the DDOS are not felt by the ISP. It's a tragedy of the commons. Response: Regulation, obviously, is required. If your network causes damage that the industry says you should have prevented, you should pay.
I don't think you understand the purposes of ISPs in the US :)
If you fake your neighbors IP address then the hacked IoT device never gets taken down, and innocents get bothered unless the ISP does a good job investigating.
Will the ISPs monitor faked packets inside their own network? And if they do at what level? Individual modems, entire segements? Entire regions?
# deny spoofers
extinput="iptables -t filter -A INPUT -i wan"
$extinput -s 127.0.0.0/8 -j REJECT
$extinput -s 10.0.0.0/8 -j REJECT
$extinput -s 172.16.0.0/12 -j REJECT
$extinput -s 192.168.0.0/16 -j REJECT