안녕하세요.
열심히 셋팅해놓은 서버가 커널이 가버리는 바람에 재설치하고 또 다시 삽질중입니다.
ssh 포트는 일단 변경하였고요.
iptables 에 중국ip자체를 밴시켜버렸습니다.
근데 리부팅이후에는 이것이 초기화 되내요.
사용중인 서버버전은 ubuntu server 16.04.3 입니다.
스크립트는 아래 처럼 작성해 놓았습니다. (해당 쉘스크립트 파일과 csv파일은 동일한 폴더내에 존재합니다. /root/ )
#!/bin/sh
SRC=./GeoIPCountryWhois.csv
for BANIP in `egrep "China" $SRC | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`
do
/sbin/iptables -A INPUT -p all -m iprange --src-range $BANIP -j DROP
done
그리고 해당 쉘스크립트 파일을 rc.local에 등록하였는데 아무리 해도 자동실행이 되질 않습니다.
초기값은 exit 0 이 적혀있었고요 이 부분을 주석처리도 해보고, 남겨도 해보고
검색을 통해 이런식 저런식 막 시도를 해봤는데요 여전히 작동하질 않습니다.
시도한 방법들은
1)
sh /root/ipban.sh
2)
su root -c "/root/ipban.sh &"
3)
/root/ipban.sh
등입니다.
물론 해당 쉘스크립트파일은 chmod +x 로 실행권환을 주었고요.
수동으로 해당 파일을 실행하면 정상적으로 등록이 됩니다.
매번 서버 리부팅마다 해당작업을 하기는 힘들고 꼭 등록을 하고 싶은데 힘드내요ㅠㅠ
현재 런레벨은 5입니다.
어떤식으로 등록을 해야 제대로 작동을 할까요 조언 부탁드립니다.
Çѹø ã¾Æ¼ »ìÆìºÁ¾ß°Ú½À´Ï´Ù.
±×¸®°í systemctl enable rc-local ±×¸®°í systemctl start rc-local ·Î ½ÇÇàÈÄ systemctl status rc-local ·Î Á¤»ó ½ÇÇà¿©ºÎ¸¦ È®ÀÎÇÏ½Ã¸é µË´Ï´Ù.
À̰͵µ Çغôø ¹æ¹ýÀε¥... ¾ÈµÇ´õ¶ó°í¿ä ¤Ð¤Ð;;
Á»ÀÖ´Ù ´Ù½Ã Çѹø ½ÃµµÇغÁ¾ß°Ú½À´Ï´Ù.
status »óÅ´ ¾Æ·¡¿Í °°½À´Ï´Ù.
¡Ü rc-local.service - /etc/rc.local Compatibility
Loaded: loaded (/lib/systemd/system/rc-local.service; static; vendor preset:
Drop-In: /lib/systemd/system/rc-local.service.d
¦¦¦¡debian.conf
Active: active (exited) since Fri 2017-12-22 22:13:14 KST; 14min ago
Process: 1180 ExecStart=/etc/rc.local start (code=exited, status=0/SUCCESS)
Tasks: 0
Memory: 0B
CPU: 0
#!/bin/sh
# ½© ½ºÅ©¸³Æ®´Â root±ÇÇÑÀ¸·Î ÃÖÃÊ 1ȸ¸¸ ½ÇÇà
apt-get -y install iptables-persistent
systemctl start iptables-persistent.service
systemctl enable iptables-persistent.service
/usr/sbin/ipset create banip hash:ip src hashsize 4096 maxelem 262144
#/usr/sbin/ipset create banip hash:net src # ³×Æ®¿öÅ© ÁÖ¼Ò Ç¥½Ã°¡ ÇÁ¸®ÇȽºÀÎ °æ¿ì hash:net »ç¿ë ex) 192.168.0.0/24
SRC=./GeoIPCountryWhois.csv
for BANIP in `egrep "China" $SRC | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`
do
/usr/sbin/ipset add banip $BANIP
done
ipset save > /root/ipset_balcklist.txt
/sbin/iptables -A INPUT -m set --match-set banip src -j DROP
"cat /root/ipset_blacklist.txt | ipset restore &" >> /etc/rc.d/rc.local
/sbin/iptables-save > /etc/iptables/rules.v4
chmod +x /etc/rc.local
systemctl enable rc-local.service
°øºÎÇؼ ÀÌÇØÇغ¸µµ·Ï ÇÏ°Ú½À´Ï´Ù. ÁÁÀº Á¤º¸ °¨»çÇÕ´Ï´Ù.!
À§¿¡ ÆÐÅ°Áöµé ¼³Ä¡ÇÏ°í
#/usr/sbin/ipset create banip hash:net src # ³×Æ®¿öÅ© ÁÖ¼Ò Ç¥½Ã°¡ ÇÁ¸®ÇȽºÀÎ °æ¿ì hash:net »ç¿ë ex) 192.168.0.0/24
SRC=./GeoIPCountryWhois.csv
for BANIP in `egrep "China" $SRC | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`
do
/usr/sbin/ipset add banip $BANIP
done
ipset save > /root/ipset_balcklist.txt
/sbin/iptables -A INPUT -m set --match-set banip src -j DROP
"cat /root/ipset_blacklist.txt | ipset restore &" >> /etc/rc.d/rc.local
/sbin/iptables-save > /etc/iptables/rules.v4
À̺κÐÀ» shell·Î ¸¸µé¾î ³õ°í, rc.local ÇØ´ç ½© ½ÇÇàµÇ°Ô ÇÏ°í
¾Æ·¡ 2ÁÙÀ» ½ÇÇàÇ϶ó´Â ¸»¾¸À̽ÃÁÒ?
±×·±µ¥ ÀÏ´Ü rc.local ¼ºñ½º°¡ µî·ÏÀÌ µÇ¾î¾ß ÁøÇàµÇ´Â°Å¶ó ±× ºÎºÐÀ» Á» ´õ È®ÀÎÀ»Çغ¸¼Å¾ßµÉ°Å°°³×¿©
server·Î ¼³Ä¡ ÈÄ È®ÀÎÇغ¸¾ÒÀ»¶§ rc-localÀÇ °æ¿ì ½ÇÇà±ÇÇÑÀ̳ª systemd ¿¡ µî·ÏµÈ »óÅ´ ¹®Á¦¾ø¾îº¸ÀÔ´Ï´Ù.
apt-get -y install iptables-persistent ¶ÇÇÑ iptablesÀ» ºÎÆà ½Ã ÀÚµ¿·Îµå½ÃÅ°±â À§ÇØ Àû¿ëÇÏ¿´À¸³ª ·Îµå°¡ µÇÁö¾Ê¾Æ ±»ÀÌ ¼³Ä¡ÇÒ ÇÊ¿ä°¡ ¾ø¾îº¸ÀÔ´Ï´Ù.
È®ÀÎÀ» À§ÇØ °£´ÜÇÏ°Ô rc.local¿¡ echo 123 > /root/file.txt ¿Í °°ÀÌ ¸í··¾î¸¦ »ðÀÔ ÈÄ ÆÄÀÏ ¹× ÆÄÀÏÀÇ ³»¿ëÀÌ »ý¼ºµÇ´ÂÁö È®ÀÎÇغ¸½Ã¸é µÉ °Í°°½À´Ï´Ù.
±×·³¿¡µµ ºÒ±¸ÇÏ°í rc.localÀÌ Àû¿ëµÇÁö ¾Æ´ÏÇÑ´Ù¸é ¹èÆ÷ÆÇÀ» º¯°æÇϽðųª ´Ù¸¥°è¿ »ç¿ëÀ» ±ÇÇص帳´Ï´Ù.
¿ìºÐÅõ´Â ¹öÀü¸¶´Ù ÆÐÅ°Áö ¸íÀ» °©Àڱ⠹ٲã¹ö¸°´Ù°Å³ª °æ·Î º¯°æ µîÀÌ ÀÖ¾î¼ °³ÀÎÀûÀ¸·Î´Â ºÒÆíÇÑ°Å°°½À´Ï´Ù.
---------------------------------------------------------------------------------------------------------------------
1. ipset ÆÐÅ°Áö°¡ ¾øÀ¸¹Ç·Î ipset ÆÐÅ°Áö ¼³Ä¡ÇÊ¿ä
root@ubuntu:~# apt-get -y install ipset
2. ipsetÀ» ÅëÇؼ ÇؽÃÅ×ÀÌºí »ý¼º
/sbin/ipset create banip hash:ip src hashsize 4096 maxelem 262144
3. ¹Ýº¹¹® °ËÁõ È®ÀÎ
SRC=./GeoIPCountryWhois.csv
for BANIP in `egrep "China" $SRC | cut -d, -f1,2 | sed -e 's/"//g' | sed -e 's/,/-/g'`
do
/sbin/ipset add banip $BANIP
done
ÇØ´ç ¹Ýº¹¹® ½ÇÇà ÈÄ ipset list¸¦ ÅëÇÏ¿© ÇؽÃÅ×ÀÌºí ³» ¸ñ·ÏÀÌ »ý¼º µÇ¾ú´ÂÁö È®ÀÎ
root@ubuntu:~# ipset list
Name: banip
Type: hash:ip
Revision: 4
Header: family inet hashsize 1024 maxelem 65536
Size in memory: 368
References: 1
Members:
192.168.1.3
192.168.1.5
192.168.1.1
192.168.1.4
192.168.1.2
¿Í °°Àº Çü½ÄÀ¸·Î ¸®½ºÆ®°¡ »ý¼ºµË´Ï´Ù.
5. ºÎÆà ½Ã ipset ¸®½ºÆ®°¡ ·ÎµåµÉ ¼ö ÀÖµµ·Ï ÆÄÀÏ »ý¼º
ipset save > /root/ipset_blacklist.txt
6. iptables Àû¿ë ¹× Ãß°¡
iptables -A INPUT -m set --match-set banip src -j DROP
iptables-save > /etc/iptables/rules.v4
4. /etc/rc.local¿¡ ¾Æ·¡ ³»¿ë Ãß°¡
/sbin/ipset create banip hash:ip src hashsize 4096 maxelem 262144
cat /root/ipset_blacklist.txt | ipset restore &
/sbin/iptables-restore < /etc/iptables/rules.v4
5. shutdown -r now
ipset list ¸¦ ÅëÇؼ ¸®½ºÆ®°¡ º¹¿øµÇ¾ú´ÂÁö È®ÀÎ
iptables -nLÀ» ÅëÇؼ iptables ¸í·É¾î°¡ º¹¿øµÇ¾ú´ÂÁöÈ®ÀÎ
´ç½Ã¿¡ ¾ÈµÇ¼ ¤Ð¤Ð ÇÑ Âü Çì¸Þ´Ù°¡ µ¥ºñ¾ÈÀ¸·Î ¿Í¼ Á¤½Å¾øÀÌ ¼ÂÆÃÇß½À´Ï´Ù.
ÁÁÀº Á¤º¸µé°ú ¼³Ä¡±îÁöÇϼż ÁÁÀº Á¤º¸ ¾Ë·ÁÁֽŠÁ¡ °¨»çÇÕ´Ï´Ù.
À§¿¡ ÁÁÀº Á¤º¸µé Àß È°¿ëÇؼ »ç¿ëÇÏ°Ú½À´Ï´Ù.
°¨»çÇÕ´Ï´Ù__)