首页 >>  正文

两个ip只访问同网段命令

来源:baiyundou.net   日期:2024-09-25

作者:geek玩物

网络安全有一句话“当攻击成本大于收益时,你的系统就是安全的”

对于我们这种普通用户来说,收益甚微。只配使用脚本攻击,也就是说只要提高脚本小子的攻击成本就能够那么我们的内网设备就是相对安全的。

对于我个人而言,我是很不喜欢直接将内网设备直接暴露在公网中的。比如直接暴露端口到公网或者通过frp/nps工具间接的将端口暴露到公网中。这意味着所有人都可以可以访问位于内网中的设备,若是密码强度不够脚本小子就可以暴力破解密码登陆你的内网设备

对此我都是通过诸如像“Zerotier“之类的虚拟局域网工具。只暴露一个端口,用高强度公私钥提高攻击成本来确保相对安全。但是虚拟局域网工具对于家庭成员使用起来过于麻烦,直接网址就能访问的方式对于不懂电脑的家庭成员来说是最优解。那如何保证直接暴露在公网的内网设备安全了?在内网穿透第三篇教程里,通过nginx配置双向ssl来拒绝非授权用户访问内网设备。但是大部分的app都不支持自定义ssl双向认证因此被拒绝访问,只能通过浏览器访问时才能使用双向ssl。不能使用app,假设在内网的nas使用体验直接砍半。

还是那句话:提高攻击成本来抵御攻击。通过这几年云主机的使用经验来说,大部分的暴力破解尝试登陆都是来自国外ip,来自国内的ip几乎没有。因此屏蔽国外ip访问,只允许国内ip访问就能杜绝大部分脚本小子的攻击。

此教程针对性 centos6,centos7,ubuntu系统。

基本原理

通过设置防火墙白名单,仅仅允许白名单内ip入站,来允许我们希望的ip访问服务器。当我们把国内的ip段加载到白名单时就能实现屏蔽国外ip的作用。

安装ipset

#Debian/Ubuntu系统
apt-get -y install ipset

#CentOS系统
yum -y install ipset

新建一个allcn.sh文件,并复制下列内容到其中。服务器切换到root用户,并将allcn.sh文件上传到/root目录,之后允许命令“chmod +x allcn.sh”。如果你用家里的服务器,请在#放行局域网地址下面加入自己的内网地址段。

之后用root权限执行命令“/root/allcn.sh“就能屏蔽国外ip,执行“/root/allcn.sh stop“停止屏蔽国外ip。

#! /bin/bash

#判断本次运行时间

#判断是否具有root权限

root_need() {

if [[ $EUID -ne 0 ]]; then

echo "Error:This script must be run as root!" 1>&2

exit 1

fi

}

#检查系统分支及版本(主要是:分支->>版本>>决定命令格式)

check_release() {

if uname -a | grep el7  ; then

release="centos7"

elif uname -a | grep el6 ; then

release="centos6"

yum install ipset -y

elif cat /etc/issue |grep -i ubuntu ; then

release="ubuntu"

apt install ipset -y

fi

}

#安装必要的软件(wget),并下载中国IP网段文件(最后将局域网地址也放进去)

get_china_ip() {

#安装必要的软件(wget)

rpm --help >/dev/null 2>&1 && rpm -qa |grep wget >/dev/null 2>&1 ||yum install -y wget ipset >/dev/null 2>&1

dpkg --help >/dev/null 2>&1 && dpkg -l |grep wget >/dev/null 2>&1 ||apt-get install wget ipset -y >/dev/null 2>&1

#该文件由IPIP维护更新,大约一月一次更新(也可以用我放在国内的存储的版本,2019-05-18日版)

[ -f china_ip_list.txt ] && mv china_ip_list.txt china_ip_list.txt.old

wget https://github.com/17mon/china_ip_list/blob/master/china_ip_list.txt

cat china_ip_list.txt |grep 'js-file-line">' |awk -F'js-file-line">' '{print $2}' |awk -F'> china_ip.txt

rm -rf china_ip_list.txt

#wget https://www.321dz.com/shell/china_ip.txt

#放行局域网地址

echo "192.168.0.0/18" >> china_ip.txt

echo "10.0.0.0/8" >> china_ip.txt

echo "172.16.0.0/12" >> china_ip.txt

}

#只允许国内IP访问

ipset_only_china() {

echo "ipset create whitelist-china hash:net hashsize 10000 maxelem 1000000" > /etc/ip-black.sh

for i in $( cat china_ip.txt )

do

echo "ipset add whitelist-china $i" >> /etc/ip-black.sh

done

echo "iptables -I INPUT -m set --match-set whitelist-china src -j ACCEPT" >> /etc/ip-black.sh

#拒绝非国内和内网地址发起的tcp连接请求(tcp syn 包)(注意,只是屏蔽了入向的tcp syn包,该主机主动访问国外资源不用影响)

echo "iptables  -A INPUT -p tcp --syn -m connlimit --connlimit-above 0 -j DROP" >> /etc/ip-black.sh

#拒绝非国内和内网发起的ping探测(不影响本机ping外部主机)

echo "iptables  -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP" >> /etc/ip-black.sh

#echo "iptables -A INPUT -j DROP" >> /etc/ip-black.sh

rm -rf china_ip.txt

}

run_setup() {

chmod +x /etc/rc.local

sh /etc/ip-black.sh

rm -rf /etc/ip-black.sh

#下面这句主要是兼容centos6不能使用"-f"参数

ipset save whitelist-china -f /etc/ipset.conf || ipset save whitelist-china > /etc/ipset.conf

[ $release = centos7 ] && echo "ipset restore -f /etc/ipset.conf" >> /etc/rc.local

[ $release = centos6 ] && echo "ipset restore < /etc/ipset.conf" >> /etc/rc.local

echo "iptables -I INPUT -m set --match-set whitelist-china src -j ACCEPT" >> /etc/rc.local

echo "iptables  -A INPUT -p tcp --syn -m connlimit --connlimit-above 0 -j DROP" >> /etc/rc.local

echo "iptables  -A INPUT -p icmp -m icmp --icmp-type 8 -j DROP" >> /etc/rc.local

#echo "iptables -A INPUT -j DROP" >> /etc/rc.local

}

main() {

check_release

get_china_ip

ipset_only_china

case "$release" in

centos6)

run_setup

;;

centos7)

chmod +x /etc/rc.d/rc.local

run_setup

;;

ubuntu)

sed -i '/exit 0/d' /etc/rc.local

run_setup

echo "exit 0" >> /etc/rc.local

;;

esac

}

main

脚本执行完成后就可以禁止国外ip访问服务器了,我使用一个新加坡的vps访问腾讯云华南区的云服务可以看到没办法访问。

由于对应国家ip段是会发生变化的,所以需要定时更新,所以需要加入定时任务。ip段库是一个月更新一次的,所以我们让脚本一个月执行一次就好了。执行命令“vim /etc/crontab“。按住i键,将下面这行复制到文件的最后一行。按esc键,输入”:wq!“保存退出。执行命令”crontab /etc/crontab“使得计划任务生效。

*  *    * 1 *   root    bash /root/allcn.sh

","force_purephv":"0","gnid":"9560844972f8e1f39","img_data":[{"flag":2,"img":[{"desc":"","height":"555","title":"","url":"https://p0.ssl.img.360kuai.com/t0148070d85a6b9272c.jpg","width":"600"},{"desc":"","height":"373","title":"","url":"https://p0.ssl.img.360kuai.com/t013325509c313704a6.jpg","width":"600"},{"desc":"","height":"450","title":"","url":"https://p0.ssl.img.360kuai.com/t019f429106577eab79.jpg","width":"600"}]}],"original":0,"pat":"art_src_1,fts0,sts0","powerby":"hbase","pub_time":1665406222000,"pure":"","rawurl":"http://zm.news.so.com/d256083fdb42fa1e5cc73927d90c20d8","redirect":0,"rptid":"a356c88745d9d021","s":"t","src":"什么值得买","tag":[],"title":"内网穿透 篇四:拒绝脚本小子,屏蔽国外IP访问,打造更安全的内网穿透。

太柱玲2886两个路由器都接WAN,怎么实现在同一个网段? -
池勉珍18482263188 ______ 进入路由器B设置界面,(假如lan ip 是192.168.1.1)设置pppoe拔号帐号和密码, dhcp那里设置成192.168.1.100-192.168.1.150,其他设置…….把宽带网线接到wan口. 用网线把路由器A的 wan口和路由器B 的LAN口连接好,进入路由器A,首先把路由器lan 设置成192.168.1.2,wan设置成动态自动获取,然后把DHCP设置成192.168.1.160-192.168.1.200,其按设置……. 这样应该满足都用wan口,在同一网段.

太柱玲2886linux,centos5.5 配置双IP,为什么只能PING通一个?? -
池勉珍18482263188 ______ 首先你是双网卡配双ip,还是单网卡配双IP? 我就写个步骤给你,你自己对照着排错 进目录:cd /etc/sysconfig/network-scripts/ 改配置文件:vim ifcfg-eth0 DEVICE=eth0 BOOTPROTO=none ONBOOT=yes IPADDR=192.168.1.52 NETMASK=...

太柱玲2886笔记本同时连接两个网络,有线连接局域网 ,无线连接外网, 但是有时不能上外网 必须断开有线 -
池勉珍18482263188 ______ 将你的计算机插上网线,如果是DHCP获取的IP的话,肯定是内网的IP,比如:192.168.1.X 这样的话,你就可以访问192.168.1网段的所有的计算机.在插上网线的前提,如果你连接无线网络(注意:无线网络与有线网络分配的IP不是同网段),这样的话,你就相当于有两个内网IP 如果这两个内网IP都有映射的公网IP的话,就算你有线网络断了,也可以使用无线上网,无线断了,有线仍可以.cmd 命令 清楚dns的吗

太柱玲2886如何看两个ip是不是属于同一个网段 -
池勉珍18482263188 ______ 直接看本机的IP地址即可区分,若两者的IP地址前三段相同最后一段不同,则说明两者是在同一网段,反之则不在同一网段.获取本机IP地址的方法如下:1、依次打开“开始”——“运行”——“cmd”打开dos界面2、在dos中输入“ipconfig/all”则可以查看本机的IP地址信息

太柱玲2886两台交换机各连一台PC,怎么设置网络使这两台PC可以通信?具体的命令等等,谢谢. -
池勉珍18482263188 ______ 两台PC要设置为同一个网段的IP地址、同一个工作组(我的电脑右键选属性,计算机名选项里),每台PC设置一下想共享的磁盘或文件夹,正常就可以互相访问了.

太柱玲2886怎么使两个不同网段的路由器之间互相访问 -
池勉珍18482263188 ______ 只通过一个路由器拔号,另一个路由器当交换机使用,两路同上间连接都连lan口,这样就可以设置同一网段,之间可以互访.

太柱玲2886工作组必须同一网段吗? -
池勉珍18482263188 ______ 跨路由啦 在第二个路由器网段上可以直接输入对另一段的IP地址访问,如果DNS没有问题,也可直接输入对方计算机名称访问.只是在网络邻居你不能直接看到.需要一步到位,输入对方计算机地址.在0.0的网段的上计算机,需要第一个路由器配合.命令: route 192.168.1.0 255.255.255.0 另一路由器的IP 或者在1.0网段的计算机上执行命令,添加路由或第二个网关 命令:route add 192.168.1.0 255.255.255.0 第二个Router的IP 一般的家用宽路由需要用DMZ映射,商用路由器会设置就容易点(你可以用route print 命令查看结果)

太柱玲2886设IP路由实现不同网段互通要怎么做?
池勉珍18482263188 ______ 当一个局域网中必须存在两个以上网段时,分属于不同网段内的主机彼此互不可见.为了解决这个问题,就必须在不同的网段之间设置路由器.如果花费上万元资金购买一...

太柱玲2886服务器IPCONFIG显示有俩同网段IP,适配器设置里面却显示只有一个,这是为什么? -
池勉珍18482263188 ______ 应该不是的,路由器里设置dhcp生命周期长一点,比如20天.如果同一网段有两个相同的ip,会提示冲突的.

太柱玲2886如何设置将两个不同网络同时访问一台(双网卡)服务器? -
池勉珍18482263188 ______ 看着有点儿晕...你的意思是你网络有两个公网IP.服务器有两块网卡,一块在内网(192.168.11.*),一块在外网(网卡2).看你说的网卡显示为黑色,应该就是说这个网卡现在没有任何数据通过(收-发双向),修复连接之后就可以,那我感觉...

(编辑:自媒体)
关于我们 | 客户服务 | 服务条款 | 联系我们 | 免责声明 | 网站地图 @ 白云都 2024