標籤: centos
centos 7 裝了docker , 限制內網透過nat上網會失效
一般公司省錢的作法, 就是一台linux主機 , 充當上網(nat) 分享器,
但後來該主機又搞了docker .
可是docker 預設網路(iptables) 都開放, 很麻煩, 造成原本firewall-cmd出問題, 無法限制內部ip上網, 所有ip都能上網, 超麻煩的,
後來發現iptables也能運作, 於是就搭配 iptables 限制內部ip上網
iptables -I FORWARD 1 -s 192.10.20.0/24 -j DROP # 限制全部內網ip透過nat上網 iptables -I FORWARD 1 -s 192.10.20.101/32 -j ACCEPT # 讓101能上網
VirtualBox裝Rocky Linux後,再裝guest additions
- Insert Guest Additions CD image
此時系統會嘗試安裝, 結果當然失敗
- 安裝 kernel-devel kernel-headers
yum install kernel-devel-xxxx kernel-headers-xxxx
- 安裝gcc make perl
yum install gcc make perl
- 安裝libelf
yum list |grep libelf #找出套件
yum install elfutils-libelf* #後面接星號, 全部安裝
- 執行 ./VBoxLinuxAdditions.run
當然會失敗
- 執行 rcvboxadd
/sbin/rcvboxadd quicksetup all
- 接下來就是再安裝看看 , 有可能會移除, 然後再重安裝一次, 然後重開機
./VBoxLinuxAdditions.run
Linux 將命令模式下執行程式,所輸出的紀錄引導到檔案
以java為例,
System.out.println(“log …”)
可以在console下看到結果, 但我們若需要未來分析使用, 就必須導到檔案.
執行時可以增加以下參數
java -jar xxx.jar > a.out 2>&1
以前常常搞不清楚, 現在也還是一樣不太懂, 沒差拉, 這樣就可以用了, 然後 tail -f a.out 就可以在螢幕看到即時訊息, 事後也能將a.out保存起來呢.
docker安裝peertube影音平台
peertube是開源的串流影音平台, 很適合拿來管理私人影音檔案.
本文安裝的先決條件是:
已備有httpd反向代理, 以及lets encrypt ,
因此不使用peertube官方自帶的webserver與cerbot, 以免造成管理上的困擾
帳號密碼: guest/guest
https://docs.kafeiou.pw/iammis/技術文章/HowTo/10034_(docker)安裝peertube.txt
相對於windows的robocopy , Linux複製可用rsync
linux hostname lookup
主機名稱很重要, hostname , 我們公司有台老鼎新tiptop erp主機 安裝的是 redhat enterprise 4 .
tiptop的架構我簡單的敘述, client端連線到這台 server , 這台server會辨識client 端ip , 再將資料以xml方式, 反向傳回去client端的接收程式, 該接收程式(genero desktop client , gdc )會把xml資料轉成UI介面 , 方便讓使用者使用.
可是呢, 每次使用者執行程式, 都必須進行license檢驗, 以及進行 host name lookup 查詢資料庫的ip在哪, 我說的是每次執行程式哦, 都要進行資料庫主機在哪的查訪動作, 實在是有夠怪的設計 , 這10多年來我困擾很久, 終於有點了解了
為何要了解這個, 因為使用者執行程式, 常常導致跑一隻程式, 光是等待程式冒出來就要等2分鐘… 我們早就知道是lookup的問題, 但找不出真正的解法, 以下是lookup的解決切入點
nsswitch 可以指定優先查 /etc/hosts 或是 dns 或是 winbind
但這款老舊版本有個怪怪的bug, 設定了相關的lookup , 總是沒用, 就是會查詢失敗導致時間過久使用者憤怒, 我無意間看到有人寫了可以這樣檢查
getent hosts 資料庫主機名稱 或是 strace getent hosts 資料庫主機名稱
我發現ap主機查詢很快, 但是查詢db主機超慢, 於是加上strace檢查問題 , 我加上去之後看不懂, 於是就多看了幾次,
這指令居然神奇的自己解決查詢過久的問題, 多執行幾次就變快了…. @@ 傻眼
CentOS 的docker 若綁定Internet IP , 要注意是否開放對外服務
例如 docker 安裝 mariadb service , 要記得不要開放到internet
iptables -I DOCKER 1 -i <對外網卡代號> -p tcp --dport 3306 -j DROP
擴容xfs,ext4(不使用lvm)
我很個很老派的人,喜歡用純粹的ext4 、 xfs 檔案系統, 但是時常遇到磁碟空間不足的問題。
若要擴容,可以服用以下指令:
1. 先安裝擴充軟體
yum install cloud-utils-growpart -y
2. 到虛擬伺服器上讓虛擬硬碟增大
3. 到虛擬主機裡面,讓虛擬硬碟容量變大(支援ext4、xfs,xfs只能增大, 不能減少),
growpart /dev/sdb 1
代表讓/dev/sdb這個硬碟擴充到最大
4. 到虛擬主機裡面,讓磁碟分區生效
xfs
--
以下指令可以立即生效指令後面接掛載目錄
xfs_growfs -d /mnt/docker
ext4
--
resize2fs /dev/sdb1
mail出現好奇怪的log “…. rip=::1, lip=::1, secured, session” problem
有時候出現就一大堆, 最後出現too many open files , 有夠怪異, 只好讓限制 imap 與 pop3 只 listen 特定的 ip (ipv4) , 這樣就可以避掉疑似ipv6嘗試入侵的問題, 我自己是覺得可能是系統與dovecot之前某段出了狀況.
請修改 /etc/dovecot/conf.d/10-master.conf
service imap-login { inet_listener imap { address = x.x.x.x y.y.y.y #port = 143 } inet_listener imaps { address = x.x.x.x y.y.y.y #port = 993 #ssl = yes } } service pop3-login { inet_listener pop3 { address = x.x.x.x y.y.y.y #port = 110 } inet_listener pop3s { address = x.x.x.x y.y.y.y #port = 995 #ssl = yes } }