네트워크 장치명 변경 (CentOS 7)

리눅스/Network|2019. 2. 13. 08:36
반응형

CentOS 7 버전 (Kernel 3.x 이상) 에서는 네트워크 장치명이 기존의 eth가 아닌 eno 등으로 자동으로 부여된다.

이 부분을 기존처럼 eth로 사용하기 위해서는 grub 파일을 수정 후 리빌드가 필요하다.


 

1. 기존 CentOS7 네트워크 장치명 확인

[root@sysdocu ~]# ifconfig

> eno1 로 확인



2. grub 파일 수정

[root@sysdocu ~]# vi /etc/default/grub

옵션 추가

GRUB_CMDLINE_LINUX="crashkernel=auto rhgb quiet net.ifnames=0 biosdevname=0"

 


3. 적용

[root@sysdocu ~]# grub2-mkconfig -o /boot/grub2/grub.cfg



4. 이름 변경

- ifcfg-eno1 파일을 ifcfg-eth0 으로 변경

- 파일 내용의 명칭도 수정

 


5. 리부팅



반응형

댓글()

간단한 iptables 기본 방화벽 형식 (특정 IP, PORT 제외하고 모두 차단)

리눅스/Security|2019. 2. 12. 16:16
반응형

*filter

:INPUT ACCEPT [0:0]

:FORWARD ACCEPT [0:0]

:OUTPUT ACCEPT [0:0]

-A INPUT -m tcp -p tcp -s 192.168.10.2 -d 192.168.10.2 -j ACCEPT  // 본 서버에서는 로컬 모든 포트 접속 가능하게 한다.

-A INPUT -m tcp -p tcp -s 192.168.10.3 -d 192.168.10.2 --dport 222 -j ACCEPT

-A INPUT -m tcp -p tcp -s 192.168.10.4 -d 192.168.10.2 --dport 222 -j ACCEPT

-A INPUT -m tcp -p tcp -d 192.168.10.2 -j DROP

COMMIT



192.168.10.3 / 4 : client
192.168.10.2 : server



룰 문제 없음 확인.

반응형

댓글()

CentOS 7 에 iptables 설치

리눅스/Security|2019. 2. 12. 13:22
반응형

구글링을 좀 했더니 CentOS 7 부터는 firewalld 라는 방화벽 데몬이 따로 돌아간단다. 

예전처럼 iptables를 사용하기 위해서는 systemctl 설정을 좀 건드려 줘야한다.



우선 작동 중인 firewalld 데몬을 중지 시킨 후 재부팅 시에도 올라오지 않도록 설정한다.


systemctl stop firewalld

systemctl mask firewalld



다음으로 iptables 명령어와 연관된 패키지를 설치한다. 

CentOS 설치할 때의 옵션에 따라 설치 되었을 수도 있다. 

나는 웹 서버 구성으로 설치 했더니 이미 설치 되어 있었다.


yum -y install iptables-services



iptables 서비스 데몬이 재부팅시에 자동으로 올라오도록 만들자

systemctl enable iptables



기본 룰셋 위치는 /etc/sysconfig/iptables 이다.



[출처] https://luckyyowu.tistory.com/286 [요우의 내맘대로 블로그]

반응형

댓글()

CentOS 7, OpenVAS 9 에서 PDF 파일 생성되지 않을때

리눅스/Security|2019. 2. 7. 12:07
반응형

CentOS 7 에 설치된 OpenVAS 9 에서 PDF 리포트가 생성되지 않을때 확인할 방법입니다.


먼저 아래와 같이 명령을 실행하면 PDF 리포트 가능 여부가 확인됩니다.

# openvas-check-setup


 ...

 Step 9: Checking presence of optional tools ...

       OK: pdflatex found.

       WARNING: PDF generation failed, most likely due to missing LaTeX packages. The PDF report format will not work.

       SUGGEST: Install required LaTeX packages.

 ...


그러면 아래와 같이 필요 패키지를 설치해보세요

 # yum install texlive-collection-latexextra

그래도 The package texlive-collection-latexextra is not available 라는 메세지가 출력되며 설치되지 않는다면, 아래와 같은 방법으로 해결해야 합니다.


1) 기존 설치 파일 모두 제거

# yum remove openvas openvas-manager


2) textlive 설치

# cd/usr/local/src

# wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz

# tar xvzf install-tl-unx.tar.gz

# cd install-tl-*

# ./install-tl


"options (O)" 누른 뒤 "create symlinks (L)" 를 선택 합니다.


for the texlive-binaries to: /usr/bin

manpages to: /usr/share/man

to: /usr/share/info


다시 메인페이지로 돌아가서 설치를 합니다.

Now return (R) to the main menu an install (I) texlive 


그다음, openvas-manager 를 설치해야 하는데, 그냥 yum install 할 경우 textlive 가 잘못 설치되어질 수 있으므로

openvas-manager 패키지만 받아 의전성 무시하고 설치를 합니다.


# yum install --downloadonly --downloaddir=/tmp openvas-manager

# rpm -i --nodeps openvas-manager-*.rpm


그리고 나머지 openvas 를 설치합니다. openvas 설치시 greenbone-security-assistant 도 같이 설치됩니다.

# yum install openvas


추가 파일 설치 및 환경 설정을 합니다.

# openvas-setup


gsad 구동 상태에서 아래와 같이 설정 상태를 체크하면, PDF 리포트 생성 가능한것이 보입니다.


 # openvas-check-setup

 ...

 Step 9: Checking presence of optional tools ...

       OK: pdflatex found.

       OK: PDF generation successful. The PDF report format is likely

 to work.

 ...



[출처] http://alfaiacomlinux.blogspot.com/2018/04/openvas-dont-download-pdf-files-in.html

반응형

댓글()

CentOS 7 에서 본딩 (bonding) 구성

리눅스/Network|2019. 2. 1. 02:25
반응형

본딩 모듈 로드

[root@sysdocu ~]# modprobe --first-time bonding

[root@sysdocu ~]​# lsmod | grep bonding

본딩 인터페이스 생성

[root@sysdocu ~]# vi /etc/sysconfig/network-scripts/ifcfg-bond0

BONDING_OPTS=mode=balance-rr

TYPE=Bond

BONDING_MASTER=yes

BOOTPROTO=none

DEFROUTE=yes

NAME=bond0

DEVICE=bond0

ONBOOT=yes

IPADDR=192.168.10.2

PREFIX=30    // 하단의 서브넷 마스크 변환표를 참조하여 NETMASK 값을 넣어준다.

GATEWAY=192.168.10.1


* 서브넷 마스크 변환표

SlashDotted DecimalSlashDotted DecimalSlashDotted Decimal
/8255.0.0.0/16255.255.0.0/24255.255.255.0
/9255.128.0.0/17255.255.128.0/25255.255.255.128
/10255.192.0.0/18255.255.192.0/26255.255.255.192
/11255.224.0.0/19255.255.224.0/27255.255.255.224
/12255.240.0.0/20255.255.240.0/28255.255.255.240
/13255.248.0.0/21255.255.248.0/29255.255.255.248
/14255.252.0.0/22255.255.252.0/30255.255.255.252
/15255.254.0.0/23255.255.254.0/31255.255.255.254


Slave 인터페이스로 사용할 eth0,eth1 파일 수정

[root@sysdocu ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0

NAME=bond-slave-eth0

DEVICE=eth0

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes 


[root@sysdocu ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth1

NAME=bond-slave-eth1

DEVICE=eth1

BOOTPROTO=none

ONBOOT=yes

MASTER=bond0

SLAVE=yes  



적용

[root@sysdocu ~]# systemctl restart network


* 주의 : 당연하지만, 기존 다른 네트워크 설정파일에 동일한 IP 가 셋팅되고, ONBOOT=yes 로 되어 있는경우 올라오지 않음


반응형

댓글()

쉘스크립트 무한 루프 돌리기

프로그래밍/BASH SHELL|2019. 1. 28. 10:49
반응형

# vi test.sh

 

#!/bin/bash

 

while :

do

    echo "hello"

    sleep 1

done

 

 

# sh test.sh

 

반응형

'프로그래밍 > BASH SHELL' 카테고리의 다른 글

변수에 숫자만 있는지 확인  (0) 2019.04.05
쉘스크립트 include 하기  (0) 2019.04.05
sed 명령으로 줄바꿈하기  (0) 2018.03.16
EOF 사용시 에러  (0) 2018.01.03
쉘스크립트 글자 색상 변경  (0) 2017.03.27

댓글()

다운로드 매니저 (DownloadManager) 관련 옵션

프로그래밍/Android (Java)|2019. 1. 28. 09:38
반응형

<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />



    private long enqueue;                        // 두개는 onCreate 상단에

    private DownloadManager dm;



String ready_filename = "test.mp3"

dm = (DownloadManager) getSystemService(DOWNLOAD_SERVICE);

                    DownloadManager.Request request = new DownloadManager.Request(Uri.parse("http://sysdocu.tistory.com/" + load_ID + "/" + ready_filename));

                    request.setTitle(ready_filename);              // 다운로드 제목

                    request.setDescription("다운로드 중..");    // 다운로드 설명

                    request.setNotificationVisibility(1);  // 상단바에 완료 결과 놔둠. 0 은 안뜸

                    enqueue = dm.enqueue(request);
                    break;



==========================================

경우에 맞게 아래 내용 추가



1. 어플리케이션 설치 디렉토리 내부에 저장할 경우 (예 : /Android/data/com.tistory.sysdocu/files/Download/)

request.setDestinationInExternalFilesDir(WebViewActivity.this, Environment.DIRECTORY_DOWNLOADS, ready_filename);



2. 공용 다운로드 디렉토리에 저장할 경우 (/storage/emulated/0/Download/)

request.setDestinationInExternalPublicDir(Environment.DIRECTORY_DOWNLOADS, ready_filename);


* 공용 다운로드 디렉토리에 저장할 경우 퍼미션을 획득해야 하므로 아래 코드를 추가로 삽입합니다.


WebViewActivity.java 에서 (onCreate 내부에 작성)


        // 공용 디렉토리에 파일을 저장하기 위한 선작업

        if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.M) {

            int PERMISSION_REQUEST_CODE = 1;

            if (ContextCompat.checkSelfPermission(WebViewActivity.this,

                    Manifest.permission.WRITE_EXTERNAL_STORAGE)

                    != PackageManager.PERMISSION_GRANTED) {


                if (ActivityCompat.shouldShowRequestPermissionRationale(WebViewActivity.this,

                        Manifest.permission.WRITE_EXTERNAL_STORAGE)) {

                } else {

                    ActivityCompat.requestPermissions(WebViewActivity.this,

                            new String[]{Manifest.permission.WRITE_EXTERNAL_STORAGE},

                            PERMISSION_REQUEST_CODE);

                }

            }

        }







반응형

댓글()

버튼 이벤트 강제 발생 시키기

프로그래밍/Android (Java)|2019. 1. 26. 08:16
반응형

Button mBtn = (Button)find....

mBtn.performClick();           // 터치
mBtn.performLongClick();    // 롱터치


반응형

댓글()

몇 초 멈추게 하기

프로그래밍/Android (Java)|2018. 12. 27. 02:33
반응형

try {

    Thread.sleep(1000);                 // 1초 멈춤. 그리고 아래처럼 예외처리 꼭 해줘야 에러 안남

} catch(InterruptedException ex) {

    Thread.currentThread().interrupt();

}

반응형

댓글()

사운드 SoundPool 예제

프로그래밍/Android (Java)|2018. 12. 24. 11:09
반응형

1. 사운드 파일 준비하여 res 폴더 및에 별도의 폴더 만들어서 위치 : 예제에서는 raw 폴더를 만들어서 넣습니다.  (일반적으로 폴더에 리소스 파일을 넣는 방법은  '복사' 한다음에 해당 폴더에 '붙여넣기' 하는 방법이 가장 무난 합니다.

2. SoundPool 객체 생성
3. SoundPool.load() 로 사운드 리소스 파일 id 준비
4. SoundPool.play() 로 재생시작

 

MainActivity.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
public class MainActivity extends ActionBarActivity {
 
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
 
        Button b = (Button)findViewById(R.id.button1);
 
        final SoundPool sp = new SoundPool(1,         // 최대 음악파일의 개수
                AudioManager.STREAM_MUSIC, // 스트림 타입
                0);        // 음질 - 기본값:0
 
        // 각각의 재생하고자하는 음악을 미리 준비한다
        final int soundID = sp.load(this// 현재 화면의 제어권자
                R.raw.gun,    // 음악 파일
                1);        // 우선순위
 
        b.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {
                sp.play(soundID, // 준비한 soundID
                        1,         // 왼쪽 볼륨 float 0.0(작은소리)~1.0(큰소리)
                        1,         // 오른쪽볼륨 float
                        0,         // 우선순위 int
                        0,     // 반복회수 int -1:무한반복, 0:반복안함
                        0.5f);    // 재생속도 float 0.5(절반속도)~2.0(2배속)
                // 음악 재생
            }
        });
    } // end of onCreate
}
cs

 

실행화면]

 [시작]버튼을 누르면 미디어 연주가 시작됩니다.



출처: http://bitsoul.tistory.com/31 [Happy Programmer~]



반응형

댓글()

히스토리에 시간 남기기

리눅스/OS 일반|2018. 12. 21. 11:01
반응형

1. /etc/profile 파일에 옵션 추가


HISTTIMEFORMAT="[%F %T] "



2. 적용


# source /etc/profile



반응형

댓글()