温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Ubuntu怎么使用iptables控制来自某个国家的访问

发布时间:2022-11-18 10:25:03 来源:亿速云 阅读:123 作者:iii 栏目:服务器

这篇“Ubuntu怎么使用iptables控制来自某个国家的访问”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Ubuntu怎么使用iptables控制来自某个国家的访问”文章吧。

第一步:安装xtables-addons

我们可以使用以下方式安装xtables-addons。

使用apt-get安装

sudo apt-get install xtables-addons-common

使用module-assistant安装

sudo apt-get install module-assistant xtables-addons-source
sudo module-assistant --verbose --text-mode auto-install xtables-addons

源码安装

sudo apt-get install git bc libncurses5-dev libtext-csv-xs-perl autoconf automake libtool xutils-dev iptables-dev
git clone git://git.code.sf.net/p/xtables-addons/xtables-addons
cd xtables-addons
./autogen.sh
./configure
make
sudo make install

第二步:创建国家数据库

sudo apt-get install libtext-csv-xs-perl unzip
sudo mkdir /usr/share/xt_geoip
sudo /usr/lib/xtables-addons/xt_geoip_dl
sudo /usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv
sudo rm GeoIPCountryCSV.zip GeoIPCountryWhois.csv GeoIPv6.csv

重启系统

reboot

检测模块的依赖性(只需要执行一次即可):

sudo depmod

第三步:创建iptables规则

阻止来自俄罗斯和韩国的流入请求:

sudo iptables -A INPUT -m geoip --src-cc RU,KR -j DROP
sudo iptables -A INPUT -p tcp -m tcp --dport 80 -j ACCEPT

在ens3接口允许来自秘鲁的对22端口的流入请求:

sudo iptables -A INPUT -i ens3 -p tcp -m tcp --dport 22 -m geoip --src-cc PE -j ACCEPT

只允许来自中国的对443端口的流入请求:

sudo iptables -A INPUT -p tcp -m tcp --dport 443 -m geoip --src-cc CN -j ACCEPT

第四步:定时更新数据库

创建定时更新脚本:

vi /etc/cron.monthly/geoip-updater

脚本内容如下:

#!/usr/bin/env bash
# this script is intended to run with sudo privileges

echo 'Removing old database---------------------------------------------------'
rm -rf /usr/share/xt_geoip/*
mkdir -p /usr/share/xt_geoip

echo 'Downloading country databases-------------------------------------------'
mkdir /tmp/geoip-updater
cd /tmp/geoip-updater
/usr/lib/xtables-addons/xt_geoip_dl

echo 'Building geoip database-------------------------------------------------'
/usr/lib/xtables-addons/xt_geoip_build -D /usr/share/xt_geoip *.csv

echo 'Removing temporary files------------------------------------------------'
cd /tmp
rm -rf /tmp/geoip-updater

设置该脚本可被执行:

sudo chmod +x /etc/cron.monthly/geoip-updater

以上就是关于“Ubuntu怎么使用iptables控制来自某个国家的访问”这篇文章的内容,相信大家都有了一定的了解,希望小编分享的内容对大家有帮助,若想了解更多相关的知识内容,请关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI