Iptables:修订间差异

来自Gea-Suan Lin's Wiki
跳到导航 跳到搜索
此页面具有访问限制。如果您看见此消息,则说明您没有权限访问此页面。
第36行: 第36行:
<syntaxhighlight lang="bash">
<syntaxhighlight lang="bash">
sudo iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o ens5 -j MASQUERADE
sudo iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o ens5 -j MASQUERADE
</syntaxhighlight>
=== GeoIp ===
先安裝並且下載一份GeoIP資料:
<syntaxhighlight lang="bash">
sudo apt install -y libtext-csv-xs-perl xtables-addons-common; sudo mkdir /usr/share/xt_geoip; cd /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl; sudo /usr/bin/perl /usr/lib/xtables-addons/xt_geoip_build
</syntaxhighlight>
設定擋掉:
<syntaxhighlight lang="bash">
sudo iptables -I INPUT -p tcp -m geoip --source-country CN -m tcp --dport 6991 -j DROP
sudo iptables -I DOCKER-USER -p tcp -m geoip --source-country CN -m tcp --dport 6991 -j DROP
</syntaxhighlight>
</syntaxhighlight>



2021年10月15日 (五) 20:22的版本

iptables是一套在Linux上常见的防火墙软件。

简介

iptables是一套Linux上常见的防火墙软件,可以安装iptables-persistent确保在开机时生效。

范例

一般

sudo iptables -A INPUT -i lo -j ACCEPT
sudo iptables -A INPUT -p icmp -j ACCEPT
sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo iptables -P INPUT DROP

有IPv6的机器要另外加上IPv6相关的设定:

sudo ip6tables -A INPUT -i lo -j ACCEPT
sudo ip6tables -A INPUT -p ipv6-icmp -j ACCEPT
sudo ip6tables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 22 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT
sudo ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT
sudo ip6tables -P INPUT DROP

NAT

sudo iptables -t nat -A POSTROUTING -s 192.168.254.0/24 -o ens5 -j MASQUERADE

GeoIp

先安装并且下载一份GeoIP资料:

sudo apt install -y libtext-csv-xs-perl xtables-addons-common; sudo mkdir /usr/share/xt_geoip; cd /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl; sudo /usr/bin/perl /usr/lib/xtables-addons/xt_geoip_build

设定挡掉:

sudo iptables -I INPUT -p tcp -m geoip --source-country CN -m tcp --dport 6991 -j DROP
sudo iptables -I DOCKER-USER -p tcp -m geoip --source-country CN -m tcp --dport 6991 -j DROP

快速设定

给我自己用的:

sudo iptables -A INPUT -i lo -j ACCEPT; sudo iptables -A INPUT -p icmp -j ACCEPT; sudo iptables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; sudo iptables -A INPUT -s 114.34.121.114 -j ACCEPT; sudo iptables -A INPUT -s 35.234.52.75 -j ACCEPT; sudo iptables -A INPUT -p tcp --dport 80 -j ACCEPT; sudo iptables -A INPUT -p tcp --dport 443 -j ACCEPT; sudo iptables -P INPUT DROP; sudo ip6tables -A INPUT -i lo -j ACCEPT; sudo ip6tables -A INPUT -p ipv6-icmp -j ACCEPT; sudo ip6tables -A INPUT -m conntrack --ctstate RELATED,ESTABLISHED -j ACCEPT; sudo ip6tables -A INPUT -p tcp --dport 80 -j ACCEPT; sudo ip6tables -A INPUT -p tcp --dport 443 -j ACCEPT; sudo ip6tables -P INPUT DROP; sudo apt install -y iptables-persistent

相关连结

外部链接