2015年4月28日 星期二

Zyxel P-6101 讓遠端可以PING到的設定 (MER)



Zyxel P-6101
P-6101CS6AP_20140331

(非必要),但還是指定往WAN IP為佳
Setup -> WAN -> Edit ->

Setup -> Firewall,將FirewallSPI均設定為Disabled (SPI其實在這裡沒有差,但它算是被誤中副車的受害者)

Management -> Access Control -> Access Control Mode -> Disable


安裝更強大的tftp server - tftpd-hpa 於 Ubuntu 12.04.5 LTS



先把原先安裝的弱小tftp server移掉,(其實把xinetd stop掉再移除會比較好,不過我有點懶..就直接上了)

 apt-get purge tftpd

這邊指的弱小是指,它不能在client上傳檔案自動產生檔案,需要使用者手動產生,並修改其屬性。其實這個也不算弱小,它嚴格來說是比較安全的。但剛好卡到我的需求,只好把它斬了。

安裝tftpd-hpa:
apt-get install tftpd-hpa

接著設定一下設定檔:
vi /etc/default/tftpd-hpa

TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"

RUN_DAEMON="yes"
TFTP_OPTIONS="-l -c -s"

比較重要的是TFTP_OPTIONS="-l -c -s"

-c: Allow new files to be created
-s: Change  root  directory  on startup.
-l:  Run the server in standalone (listen) mode, rather than run from inetd.
所以我們就不再需要靠xinetd來執行tftpd了

 ps axnu | grep tftp
可以看到tftp兀自好好的執行中:
 Apr24   0:00 /usr/sbin/in.tftpd --listen --user tftp --address 0.0.0.0:69 -l -c -s /tftpboot

2016/05/04 更新,在網路上找資料,結果找到自己的文章,還滿好笑的。
補一下fedora上面的處理方式:

wget https://sourceforge.net/projects/cacti-reportit/files/cacti-reportit/reportit_v075a/reportit_v075a.tar.gz
tar xf tftp-hpa-5.2.tar.xz
cd /usr/src/tftp-hpa-5.2

先把xinetd停掉:(舊的tftpd是依附在xinted下面跑的)
/etc/init.d/xinted stop

把舊的tftpd-server移掉:
rpm -e tftp-server-0.49-6.fc13.x86_64

./configure
make
make install
這樣就好了。

我打算把這個tftpd給xinetd管
cp tftp-xinetd /etc/xinetd.d/tftp

改一下這個檔的內容
disable                 = no (本來是yes)
server_args             = -c -s /tftpboot (本來沒有加 -c)
這邊就不加-l了,因為我不打算讓它standalone去跑

最後再把xinted on 起來
/etc/init.d/xinted start

 檢查一下:
[root@MARS src]# netstat -anupl | grep 69
udp        0      0 0.0.0.0:69                  0.0.0.0:*                               24612/xinetd

最後測試一下:(這個檔案原先當然不能存在你的tftpboot中,不然就沒有意義了)
tftp localhost -c put ifDescr
在你的tftpboot中應該產生這個檔案了,而且他不是空的。

在RHEL8 (CentOS 8) ,並沒有tftpd-hpa可以選,其實我們只要編輯既有的tftp-server的設定檔就可以滿足我們的需求了:

cd /usr/lib/systemd/system/
vi tftp.service

重點是-c代表create

[Unit]
Description=Tftp Server
Requires=tftp.socket
Documentation=man:in.tftpd

[Service]
ExecStart=/usr/sbin/in.tftpd -s -c /var/lib/tftpboot
StandardInput=socket

[Install]
Also=tftp.socket

設定完成後,因為我們有調設定檔,要讓systemctl重讀一下:
systemctl daemon-reload
接著重啟它:
systemctl restart tftp
最後看一下狀態:
systemctl status tftp

如果有這一行就ok了。
/usr/sbin/in.tftpd -s -c /var/lib/tftpboot









2014年9月24日 星期三

RIP 選徑規劃及測試

1、PE及CE有兩條LINK
2、跑RIP
3、有分DATA及VOICE網段 (192.168.2.0 data,192.168.3.0 voice)
4、平常DATA跑第一條,VOICE跑第二條
5、斷第一條時,DATA需能跑到第二條
6、斷第二條線,VOICE不需跑到第一條

router rip
 version 2
 redistribute static
 offset-list 1 out 3 FastEthernet0/1
 network 172.31.0.0
 network 192.168.2.0
 network 192.168.3.0
 distribute-list 1 out FastEthernet0/0
 distribute-list 12 out FastEthernet0/1
!
ip classless
ip route 192.168.2.0 255.255.255.0 192.168.1.254
ip route 192.168.3.0 255.255.255.0 192.168.1.254
!
no ip http server
no ip http secure-server
!
!
access-list 1 permit 192.168.2.0 0.0.0.255
access-list 12 permit 192.168.2.0
access-list 12 permit 192.168.3.0

測試:斷第一條
     172.31.0.0/30 is subnetted, 2 subnets
C       172.31.0.0 is directly connected, FastEthernet0/0
C       172.31.0.4 is directly connected, FastEthernet0/1
R    192.168.2.0/24 [120/4] via 172.31.0.6, 00:00:17, FastEthernet0/1
R    192.168.3.0/24 [120/1] via 172.31.0.6, 00:00:17, FastEthernet0/1

測試:斷第二條
     172.31.0.0/30 is subnetted, 2 subnets
C       172.31.0.0 is directly connected, FastEthernet0/0
C       172.31.0.4 is directly connected, FastEthernet0/1
R    192.168.2.0/24 [120/1] via 172.31.0.2, 00:00:10, FastEthernet0/0

測試:把兩條線都拉起來
     172.31.0.0/30 is subnetted, 2 subnets
C       172.31.0.0 is directly connected, FastEthernet0/0
C       172.31.0.4 is directly connected, FastEthernet0/1
R    192.168.2.0/24 [120/1] via 172.31.0.2, 00:00:02, FastEthernet0/0
R    192.168.3.0/24 [120/1] via 172.31.0.6, 00:00:02, FastEthernet0/1

均符合需求

2014年8月26日 星期二

Tenda N30 真的不能當作旅行AP使用 - 一場悲劇的發生

家裡的電視需要網路線。但再過一段時間後他就再也沒有網路線可以接了。因此有兩個解法:1、電力線網路,2、將Wi-Fi轉成有線網路。

想試試看不用錢的解法。但之前的FON賣的賣送的送,除了跟親朋好友調貨之外,還有沒有解法?

看了一下櫃子,有一台Tenda N30躺在架上。這台機器是申辦寬頻的贈品,但後來拿到TTC的測速用AP後(有gigalan),它就一直被冷凍起來(大概就跟張泰山被凍在bench上一樣久的時間)

作了一下功課,這一台機器的ROM和RAM太小,沒有辦法刷成dd-wrt或openwrt。

看來只能從原廠的firmware來解,幾天前剛好看到有新的firmware,就來試試。

升版了之後,原先的簡中介面變成英文介面,看起來順眼許多。但也陌生許多。

找了一下,Bingo,有選擇WAN介面的功能,就來試試。

殊不知,這是一場災難的發生。

試著將WAN 改成Wi-Fi,順利的抓到家裡的AP,但是後端的電腦一直不能連上線。(此時後端的電腦用來設定N30,和N30是在同一個IP網段的,但沒有設定gateway)

訁了幾次都不行,只好死馬當活馬醫。把WAN介面的PPPoE開起來,再把電腦的gateway指向N30。就可以連線了(我家的VTUR有開硬撥,也有發IP)。但這樣一來,其實將來電視和NAS是無法連線的 (因為電視會透過N30作NAT出Internet,和本來的區網就完全無關了)

只好再換一個方法試試,把N30的WAN設定為DHCP。然後...就悲劇了。
跳出了一個IP網段相衝的訊息,之後N30就失聯了,再也進不去。
原因很簡單,就是N30的WAN和LAN都是192.168.1.X。但不曉得是怎麼設計的,在這種狀況下竟然LAN IP就無法連線了。

我正在思考,是要發給他的WAN不同的DHCP網段,再進去改回原先設定,還是乾脆factory reset算了。反正也沒有什麼特殊的設定。

總之,要透過N30把Wi-Fi轉換回ethernet,是不行的。
還是等FON來再刷機試試吧....

2014年5月28日 星期三

Dongle card (3.5G USB)網卡 如何在 Raspberry Pi安裝

1、先更先及安裝相關套件
sudo apt-get update
sudo apt-get install ppp usb-modeswitch wvdial


2、假設核心有支援的話。就直接lsusb,找出其device id。
# lsusb
Bus 001 Device 002: ID 0424:9512 Standard Microsystems Corp.
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub
Bus 001 Device 003: ID 0424:ec00 Standard Microsystems Corp.
Bus 001 Device 005: ID 12d1:1506 Huawei Technologies Co., Ltd. E398 LTE/UMTS/GSM Modem/Networkcard
在可以看出device id為 12d1:1506

3、modprobe usbserial vendor=0x12d1 product=0x1506
#ls -ls /dev/ttyU*
0 crw-rw---T 1 root dialout 188, 0  5月 29 10:50 /dev/ttyUSB0
0 crw-rw---T 1 root dialout 188, 1  5月 29 10:17 /dev/ttyUSB1
0 crw-rw---T 1 root dialout 188, 2  5月 29 10:49 /dev/ttyUSB2
 可以看出usb modem有三台 (看廠牌和型號,我有遇過五台的)


4、取出訊號品質。訊號的部份在/dev/ttyUSB0

#more /etc/wvdial.conf (預設的設定檔)
[Dialer Defaults]
Init1 = AT+CSQ
Modem Type = USB Modem
ISDN = 0
New PPPD = yes
Modem = /dev/ttyUSB0
Baud = 9600
Username = " "
Password = " "
Phone = " "


#wvdial
-> WvDial: Internet dialer version 1.61
--> Initializing modem.
--> Sending: AT+CSQ
AT+CSQ
+CSQ: 16,99
OK
--> Modem initialized.
--> Sending: ATDT
--> Waiting for carrier.
ATDT
ERROR
--> Invalid dial command.
--> Disconnecting at Thu May 29 10:53:01 2014

5、撥號上網的部份。data com的部份使用/dev/ttyUSB2

# more /etc/reconnect.conf
[Dialer Defaults]
Phone = *99#
APN = internet
Username = " "
Password = " "
Init1 = ATZ
Init2 = ATQ0 V1 E1 S0=0 &C1 &D2 +FCLASS=0
Init3 = AT+CGDCONT=1, "IP","Internet"
;Modem Type = Analog Modem
Modem Type = USB Modem
Baud = 460800
New PPPD = yes
Modem = /dev/ttyUSB2
ISDN = 0
Stupid Mode = 1

#/usr/bin/wvdial -C /etc/reconnect.conf & (由於非預設設定檔,因此要指定設定檔所在)

6、附錄
部份卡可能要更新kernel才有支援或者要更新firmware: rpi-update

另外有部份網卡要自行compile再insmode或modprobe。就不一一列舉


7、我本來是用ppp直接撥號,但後來發現wvdial有自動重連功能。二話不說就換成wvdial。
附上ppp相關安裝及設定方式,這邊好像是下載別人寫好的script。一時找不到出處,不過因為後來沒有用到,就先找了。

#apt-get install ppp

#cd /etc/ppp/peers
#more gsm (我們看一下gsm的內容)
-detach
lcp-echo-failure 0
/dev/ttyUSB2
115200
debug
defaultroute
usepeerdns
noauth
user ""
ipcp-max-failure 4
ipcp-accept-local
ipcp-accept-remote
ser/pw combo
noauth
crtscts
lock
connect '/usr/sbin/chat -v -t6 -f /etc/ppp/peers/gsm_chat'

#pppd call gsm &(此時就撥號上去了)

# more gsm_chat (我們看一下gsm_chat的內容)

SAY 'Starting Sierra Wireless GSM connect script...\n'
SAY '\n'

SAY 'Setting the abort string\n'
SAY '\n'
# Abort String ------------------------------
ABORT 'NO DIAL TONE' ABORT 'NO ANSWER' ABORT 'NO CARRIER' ABORT DELAYED

SAY 'Initializing modem\n'
# Modem Initialization
'' AT
OK ATZ


SAY '\n'
SAY     'Setting APN\n'

OK     'AT+CGDCONT=1,"IP","internet"'

SAY '\n'
SAY     'Dialing...\n'

OK ATD*99#
CONNECT ''








2014年5月22日 星期四

只開放sftp不開放ssh

1、新增群組 groupadd sftponly

2、建立使用者,將該用戶綁定該群組
  adduser test -d /sftp -G sftponly

3、編輯/etc/ssh/sshd_config,新增下列:
Subsystem sftp internal-sftp

Match group sftponly
     ChrootDirectory /sftp
     X11Forwarding no
     AllowTcpForwarding no
     ForceCommand internal-sftp

4、新建/sftp/config
mkdir /sftp/config

並設定權限
chown test /sftp/config
chgrp sftponly /sftp/config

5、重啟sshd
/etc/init.d/sshd restart