0929

0930~

5.5 리눅스 시스템관리5 - 네트워크관리

5.5.1 ping

tcp가없다 (데이터가없다)
icp icmp만 보낸다
= 서버가 죽었는지 확인용
사용법
ping [옵션] 호스트

ping 127.0.0.1
ttl = 128 //윈도우 cmd
ttl = 64 //리눅스

핑 안되게 하는방법

vi /etc/sysctl.conf
----insert--------------------------
net.ipv4.icmp_echo_ignore_all =1 //1로 세팅하면 핑이안됨//네이버,더존처럼


sysctl -p
cat /proc/sys/net/ipv4/icmp_echo_ignore_all 로 확인

5.5.2 nslookup

네임서버가 올바르게 작동하는지 확인가능
nslookup www.naver.com //서버,어드레스 나오면 인터넷된다는 뜻임

5.5.3 hostname

호스트 네임 화면에 출력
1030~

호스트네임 변경
cd /etc
vi hostname
-----insert-------------- //지워버리고 입력
lx.woodong.me


cd
hostname //확인

  • 호스트네임은 도메인이 아니다.
    exit

도메인과 호스트네임 연결하는 방법(개인 도메인이 있는경우)

cd /var
cd named/
vi kickscar.me.zone //도메인 kickscar.me
-------insert--------------
lx IN A 추가 : 윈도우ipv4주소


systemctl stop named
ps -ef | grep named //죽었는지확인
안돼서
kill -9 named //로 죽임
kill -9 1058
ps -ef | grep named
systemctl start named

포트포워딩에
호스트 : 윈도우 ipv4주소
게스트는 : 10.0.2.10
포트번호 : 8088
주소창에 lx.kickscar.me:8088 접속
yum -y install bind
cd /var/named

5.5.4 netstat

루트계정으로 루트에서
netstat // Iface : 장치이름나옴
netstat -r // 게이트웨이 확인가능
netstat -anp // 포트번호 볼 수 있음
netstat -anpt //프로세스까지보고싶으면
netstat -anpt | grep LISTEN // 프로세스,LISTEN하는거 보고싶을때

Servers 프로젝트 - server.xml
8005 8009 8080 세 포트사용
8009 아파치랑연결설정하면 열리는포트

5.5.5.ifconfig

장치이름 : 자신의 네트워크카드 정보 //게스트 주소 나옴
lo : 루프백(자기 아이피 돌아옴) //호스트 주소 나옴

*번외 면접 질문 : DNS 동작과정

출처 https://www.netmanias.com/ko/?m=view&id=techdocs&no=5259

특정 장치만 보고싶을 때

ifconfig enp0s3

하드웨어적 장치 끄기

ifconfig enp0s3 down // 네트워크카드 죽이기(하드웨어적)

버추어박스에서 root로그인하고
ifconfig //장치 사라진 것 확인

장치명확인과정 및 다시 켜기

cd /etc/sysconfig/network-scripts/
ls -l
ifconfig enp0s3 up // 장치 켜기
ifconfig // 장치 올라가있는지 확인

소프트웨어적 끄기 ( 네트워크)

systemctl stop net //소프트웨어적으로 네트워크 종료

소프트웨어적 켜기

systemctl start net

xshell로 이동하면 껐을 때 안되던 계정 로그인 잘 됨

5.5.6 네트워크 설정하기 ( 고정아이피 설정)

ifconfig에서 설정한 IP주소는 시스템이 재 시작하게 되면 반영 되지않음

고정 ip 설정하는방법(시스템의 네트워크를 영구적으로 반영 되도록함)

IPADDR=10.0.2.10
NETMASK=255.255.255.0
GATEWAY=10.0.2.2
DNS1=168.126.63.1
DNS2=168.126.63.2

cd /etc/sysconfig/network-scripts/
ls
vi ifcfg-enp0s3
---------------insert-------------------
//수정
BOOTPROTO = "static"
//추가
IPADDR=10.0.2.10 //게스트 IP : VM으로 가상이미지 설치시 할당된 사설 ip
NETMASK=255.255.255.0
GATEWAY=10.0.2.2 //netstat -r치면나옴
DNS1=168.126.63.1 //nslookup 치고 www.douzone.com치면 위에 나오는 ip
DNS2=168.126.63.2


systemctl restart network //네트워크 데몬이 내려갔다 다시올라옴

고정 아이피 바꾸고 싶을 때

vi ifcfg-enp0s3


IPADDR = 10.0.2.30 /수정


systemctl restart network
포트포워딩해주기
게스트 IP 10.0.2.30 로 다 바꾸기

xshell로 이동
open
ifconfig //inet 10.0.2.30으로 바껴있음
*인터넷안될수도있음 주의해야함
nslookup //인터넷확인 이거되면 인터넷되는것
www.naver.com
-------------------네트워크 관리 끝-----------------

리눅스 서버와 도메인 연결하는 방법

연결 확인

ping localhost //안됨
살리는방법
cd /etc
yum -y install telnet
telnet localhost 8088 //텔넷으로 접속확인

탈출방법

Ctrl + ]
close

도메인 등록

cd /etc
vi hosts


127.0.0.1 lx lx.kickscar.me //추가


telnet lx 8088

C:\Windows\System32\drivers\etc 경로의 hosts파일 열어야함 메모장을 관리자권한으로 열기
메모장에서 열기 - 경로따라가서 파일이름에 *치고 엔터치면 hosts파일나옴

이클립스로이동
server.xml 열고
8080 찾기 80으로바꾸고 //http의 기본 포트가 80, https 는 443

helloweb 찾고
path = "/"로 바꾸기
이클립스에서 서버 중지후 재시작
주소창에 127.0.0.1 치면 헬로월드나옴

##번외 http 사이트 피싱하는 방법
C:\Windows\System32\drivers\etc 경로의 hosts파일 열어야함 메모장을 관리자권한으로 열기
메모장에서 열기 - 경로따라가서 파일이름에 *치고 엔터치면 hosts파일나옴
hosts 메모장에서 맨밑에 127.0.0.1 www.naver.com 치고 저장
그리고 http://www.naver.com 치면 헬로월드 나옴
https는 안됨
path 변경한거 /helloweb 으로 다시 바꾸기
80포트로 바꾼것도 8080으로 바꾸기

130~

포트포워딩에 호스트 ip : 본인 윈도우 ip 설정하면 외부에서 접속가능
와이파이는 192로 시작하는 ip일때만 접속가능

리눅스에 마리아db 설치

db 중요한 것 데이터베이스 개발, 관리,설계

mariadb-compile-설치.txt 참고해서하기

xshell
0. 작업 디렉토리
pwd
/root

1. 의존 라이브러리 설치

yum install -y gcc
yum install -y gcc-c++
yum install -y libtermcap-devel
yum install -y gdbm-devel
yum install -y zlib
yum install -y libxml

yum install -y freetype
yum install -y libpng

yum install -y flex
yum install -y gmp
yum install -y ncurses-devel
yum install -y cmake.x86_64
yum install -y libaio
iconv 소스 컴파일 설치를 한다. // 구글에 iconv source downloac검색 - gnu project 클릭 - downloading libiconv 에 밑에 http~~ .tar.gz. - 우클릭 링크복사
wget https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.16.tar.gz(복사한링크)
tar xvfz libiconv-1.16.tar.gz //압축풀기
./configure --prefix=/usr/local //configure : 인스톨을 하기위한 환경을 설정, --prefix = : 컴파일된 프로그램을 설치하는 위치
make //빌드
make install
pwd
cd
pwd

2. 소스 다운로드

wget https://downloads.mariadb.org/interstitial/mariadb-10.1.48/source/mariadb-10.1.48.tar.gz
안됨

방법

1)
[안됨]구글에 mariadb source download 검색 - 녹색박스에 getting the Maria~~ code 클릭 - 10.4 클릭 -
2)
[404에러뜸]https://downloads.mariadb.org/mariadb/+releases/접속 - 10.4.20 클릭 - tar.gz 링크복사
wget https://downloads.mariadb.org/interstitial/mariadb-10.4.20/source/mariadb-10.4.20.tar.gz/from/https%3A//mirror.yongbok.net/mariadb/
3).
[해결] 낮은 버전으로 하기 10.1.48버전으로 직접 들어가서 다운 https://downloads.mariadb.org/mariadb/+releases/ - 10.4.18 선택 - tar.gz 링크복사
wget https://downloads.mariadb.org/interstitial/mariadb-10.4.18/source/mariadb-10.4.18.tar.gz/from/https%3A//archive.mariadb.org/
mv index.html mariadb-10.1.48.tar.gz

3. 압축 풀기

tar xvfz mariadb-10.1.48.tar.gz

4. 소스 이동

cd mariadb-10.1.48

5. 빌드 환경 설정 (cd mariadb-10.1.48)

cmake -DCMAKE_INSTALL_PREFIX=/usr/local/douzone/mariadb -DMYSQL_USER=mysql -DMYSQL_TCP_PORT=3306 -DMYSQL_DATADIR=/usr/local/douzone/mariadb/data -DMYSQL_UNIX_ADDR=/usr/local/douzone/mariadb/tmp/mariadb.sock -DINSTALL_SYSCONFDIR=/usr/local/douzone/mariadb/etc -DINSTALL_SYSCONF2DIR=/usr/local/douzone/mariadb/etc/my.cnf.d -DDEFAULT_CHARSET=utf8 -DDEFAULT_COLLATION=utf8_general_ci -DWITH_EXTRA_CHARSETS=all -DWITH_ARIA_STORAGE_ENGINE=1 -DWITH_XTRADB_STORAGE_ENGINE=1 -DWITH_ARCHIVE_STORAGE_ENGINE=1 -DWITH_INNOBASE_STORAGE_ENGINE=1 -DWITH_PARTITION_STORAGE_ENGINE=1 -DWITH_BLACKHOLE_STORAGE_ENGINE=1 -DWITH_FEDERATEDX_STORAGE_ENGINE=1 -DWITH_PERFSCHEMA_STORAGE_ENGINE=1 -DWITH_READLINE=1 -DWITH_SSL=bundled -DWITH_ZLIB=system
옵션이름 잘못됐을때 rm -rf mariadb-10.1.48 하고
루트에서 다시 tar xvfz mariadb~
그리고 cmake ~
~ 빌드환경설정

6. 빌드 (timeout때문에 꺼지면 안됨)

make

7. 설치

make install
cd (작업은 /root)
pwd
/root
설치확인
cd /usr/local/douzone/
ls -la

8. 계정 생성

groupadd mysql
useradd -M -g mysql mysql //mysql계정이 mysql에 들어가게
-M : 홈디렉터리못만들게

9. 인스톨 디렉토리 /mariadb 소유자 변경

chown -R mysql:mysql /usr/local/douzone/mariadb
ls -l /usr/local/douzone/ //변경확인

10. 설정파일 위치 변경

cp -R /usr/local/douzone/mariadb/etc/my.cnf.d /etc
디렉토리 통째로 복사하려고 -R붙임
y

11. 기본(관리) 데이터베이스(mysql) 생성

/usr/local/douzone/mariadb/scripts/mysql_install_db --user=mysql --basedir=/usr/local/douzone/mariadb --defaults-file=/usr/local/douzone/mariadb/etc/my.cnf --datadir=/usr/local/douzone/mariadb/data

12. 서버 구동

/usr/local/douzone/mariadb/bin/mysqld_safe &
&안붙이면 포어그라운드로 실행돼서 빠져나올수없음

ps -ef | grep mysql ///잘 떴는지확인

13. root 패스워드 설정

/usr/local/douzone/mariadb/bin/mysqladmin -u root password '
root : mysql 기본 admin //리눅스 root계정이랑다름
password지정하기위함

14. 데이터베이스 접속 테스트

/usr/local/douzone/mariadb/bin/mysql -u root -p

15. path 설정(/etc/profile)

vi /etc/profile

mariadb

export PATH=/usr/local/douzone/mariadb/bin:$PATH
source /etc/profile

이제
mysql -p 치면 접속됨

16. 서비스(데몬, Daemon) 등록/시작/중지

cp /usr/local/douzone/mariadb/support-files/mysql.server /etc/init.d/mariadb
chkconfig mariadb on (centos7이상: systemctl enable mariadb)
systemctl stop mariadb
kill -9 14345 14417 (pid 번호):ps -ef | grep mysql로 확인
ps -ef | grep mysql
systemctl start mariadb // 껐다가 켜주기
ps -ef | grep mysql

mysql -p //문제가 있는지 없는지 접속해보기
sync
sync
sync
reboot
xshell 끄고
VM다시켜고
xshell 다시켜서
ps ef | grep mysql 해서 잘 실행되나 확인

330~

워크벤치

다운로드

workbench 다운로드 검색 - 윈도우용 download - just start my download
드라이브 자료 - MySQL - VC_redist.x64.exe 실행 - 닫기 - 아까 홈페이지에서 다운로드한거 다시실행

계정만들기 (자료 - mysql - mariadb데이터베이스사용자생성권한부여.txt 참조)

xshell
mysql (-u root) -p (DBA 권한으로 접속)

  1. database 생성
    MariaDB [none]> create database webdb;
    show databases; //webdb 확인하기

2-1. user 생성
MariaDB [none]> create user 'webdb'@'localhost' identified by 'webdb';
계정 비번
계정은 배포된 프로그램에서 접근할때 쓰임
3-1. 권한 부여
MariaDB [none]> grant all privileges on webdb.* to 'webdb'@'localhost';
webdb의모든 스키마의 모든권한을 주다 로컬호스트에 접속하는 webdb에게
4-1. 새 변경사항 적용
MariaDB [none]> flush privileges;
exit
5-1. 테스트
mysql -u webdb -D webdb -p
비밀번호치기
show tables;
아무것도없음
= 로컬에서 웹디비 들어온 과정임

exit
mysql -p
루트계정 비번치기

새 세션하나 열어서
포트포워딩을통해 들어가기때문에 게이트웨이역할을 해주는 ip 알아야함
who
root 맨오른쪽 ip (10.0.2.2)

2-2. user 생성
MariaDB [none]> create user 'webdb'@'10.0.2.2' identified by 'webdb';

3-2. 권한 부여
MariaDB [none]> grant all privileges on webdb.* to 'webdb'@'10.0.2.2';

4-2. 새 변경사항 적용
MariaDB [none]> flush privileges;

5-2. Windows의 Workbench 에서 테스트

포트포워딩 추가
로컬호스트 127.0.0.1 포트 3306 게스트ip 10.0.2.10 포트 3306
텔넷으로 접속확인하기
새 세션열고
telnet 127.0.0.1 3306

워크벤치켜서 뉴 커넥션 (mysql connection + 버튼 클릭)
connection name :webdb
username : webdb
default schema : webdb

워크벤치에서 show tables; 치고 Ctrl Enter 누르면 밑에 테이블뜸
번개모양눌러도 실행됨

0개의 댓글