Trying To Understand Linux Ipsec Internals

Hello,

I've been reading through Christian Benvenuti's book "Understanding Linux Network Internals" and have been finding it extremely informative. However, my ultimate interest is to better understand the internals of the linux ipsec solution and how it uses tun/tap interfaces to achieve the goal. So, I'm looking for something on the level of technical detail provided by Christian Benvenuti. I've spent time googling as well as searching the source code. But, haven't been able to find what I'm looking for. I'll be much appreciative if someone could point me to any documentation that would help me. Thanks very much.


Similar Content



The Problem Of Learning Linux

They say there are no secrets in Linux. I am finding that learning about Linux is becoming a life long experience. I have just started using a Debian distribution that is behind the Raspberry pi. My first problem was that the display would go to sleep after about 15 mins when not used. I wanted to turn this feature off. That is I wanted the display to be on all the time.
After some web searching I came across a way to do this. It involved a file in the root area called "lightdm" which stands for light display manager (I think).
Then under this as a file called the lightdm.conf file. Just one line in the config file gets modified. Now doing this via the monkey see monkey do method works. But trying to find out how this works and exactly what the cryptic commands do, ends up being a frustrating endless search. I tried to find the source code for lightdm buts its documentation is certainly not for beginners.
I tried finding out what a "greeter" was once again huge amounts of time spent trying to make sense of endless terminology.

It seems that nowadays trying to learn about the details of any software system is just so hard. Like try and find good documentation on drivers.
Don't get me wrong I love the fact that at least Linux is open source but I wish there was an easy way to learn about it.

I'm New To Linux....questions Compiling A Small Source Code

Hi Everybody.....
I'm new to this site and new to Linux ( Ubuntu 12.04) generally. I am an old goat mechanical engineer with years of electronic instrumentation design experience. I am connecting several of my old HP digital oscilloscopes and logic analyzers to a Ubuntu box via GPIB (ieee 488) interface. I have the interface working well using the open source ( Sourceforge) "Linux-GPIB" kernel module. I can remotely control the instruments using "Linux-GPIB"'s "ibterm" terminal utility. However "ibterm" doesn't provide a means to do a scope screen dump to a file. A guy on EEBLOG published a short C language 30 line source code to perfome this function. Unfortunately it isn't a package with makefile.am, makefile .in, configure etc which I understand I could compile using the typical ./config, make, checkinstall procedure. It is just the c source code text. Soooo.....do I use gcc directly? If so, how do I run gcc in a manner to be able to uninstall all the various files it will make? Or ?? What is the procedure for automake in this situation ? Or....? I'm kind of lost. Your suggestions would be helpful.
Cheers.
Alan Jacobs
Green Bay, Wisconsin USA

USB Stick Does Not Work In Linux Mint 17.10

I'm new to Linux Mint and have spent days researching and reading posts from users who were having problems with finding and mounting USB sticks in Linux. I'm about worn out trying to solve the problem and still can't do this. Is there a solution that I've missed that can provide success in recognizing and mounting and mount a USB?

Just Installed Linux On Chrome Book With Goal Of Using Minecraft

Just bought a chrome book and worked with my 10 year old to try to install minecraft through linux.

I followed the following instructions
http://itechtriad.com/articles/2014/...n-a-chromebook

to enter developer mode in chromeos. Successfully istalled linux. Using KDE. I downloaded minecraft for linux. but instructions say I should be able to click bottom left KDE kickstarted button and see "edit applications" but it isnt there.

SO i have linux up. I have minecraft in. But I am stuck. (And I still think I need java installed. Any advice/

Block Device Drivers

I am new to drivers development under linux kernel. After starting with the simple examples from the book Linux Device Drivers v3, I realised that the block driver API has been totally changed since the kernel 2.6.31 or maybe later versions, and I couldn't find any documentation about the new API and how to use it. There are just some few comments in the source code.

After struggling for one month I almost had something working but few parts are missing or I misunderstood something.

Here is the situation :

After fetching the request with blk_fetch_request(q), I use the macro __rq_for_each_bio for handling the full request
To transfer the segments one by one I use the macro bio_for_each_segment(bvec, bio, i) that loops over all the segments in a bio

My question is :

I need to do some DMA from/to my device (the dma engine is within the device), that's why I need some address that I could use it to DMA from/to
Which buffer should I use ? for the moment I use the buffer returned by char *buffer=bio_data(bio), Does "buffer" corresponds to the physical buffer that I can use for DMA
How to end the request in this case ? using __blk_end_request_cur(req, 0) ? or using __blk_end_request(req, 0, bytes) ?

If you don't have an answer to any of these questions, where can I find a useful documentation for the new API of the block device drivers.

Linux Os Clustering?

Hy,
I am new to linuxquestion.org, however i am mid-level linux administrator.

As per my scenario, I want to cluster python and java services in two nodes running RHEL 6.4. Till now by watching tutorial I have seen application level clustering of linux for eg: webserver, mysql database and so on. However I haven't found any with python & java clustering.
I am already familiar with windows clustering having clustered ip of the two nodes. In my scenario, we have both the options open either going with active-active or active-passive cluster. So I want to some sort of idea to achieve linux os clustering and hence obtained clustered ip.
Further any idea on how this service will float from one node to another. Further, I cannot get to the fencing mechanism in Linux. Any idea for this will be helpful to understand.

Hope to get positive respond ASAP. Thanks in advance for those who help me with this.

How To Learn Linux Effectively - How Long To Devote, What To Focus On?

Hi all,

Apologies if this is off-topic. I searched a while and couldn't find out whether or not the Newbie forum is strictly for technical questions or not.

I am new to Linux and have been using it the past 4 months or so. Currently I work in a support job as an MS technician. I'm mostly using it to advance my career. Management told me if I devote time to learning Linux to the point where I can do very basic maintenance tasks on the company Linux servers, and the ability to support our few Linux clients, I would be promoted to a senior support position.

One of the greater challenges so far is trying to figure out WHAT to focus on and how long to devote to it each day. I find that if I spend multiple hours/day trying to learn Linux (like 2-3 hours), I don't retain much of what I've learned. Conversely, if I don't spend enough time each day, I worry that I will not learn enough to become proficient in a reasonable amount of time. I sometimes start reading up on a Linux topic, for instance, how to send mail to users, and wonder if my time could be better spent learning another aspect. Then again, I feel like a lot of this basic knowledge can be built upon.

I'd like to become proficient enough to achieve this senior position in 1.5-2 years. Given my current job and personal responsibilities I am able to devote 1-2 hours of learning Linux each day.

In that amount of time, I've been learning new bash commands daily and practicing yum, tried setting up a web server, extracting/compiling software, messing around with inittab, cron jobs, etc. very basic things and building upon that.

Does this sound reasonable? I'd very much appreciate some pointers and to see if I am on the right track from a Linux community perspective.

Thanks.

.o: File Not Recognized: File Format Not Recognized When Compiling

Hello,

I am working on a board (sbc6000x with at91sam9261 micro, linux 2.6.24 to be precise) and having some fun making script i wanted to make real application.
The board is coming with a cross compilation toolchain. When trying to make a simple "hello world" executable to print on the terminal there is no problem.
I open my terminal, give the path of the compiler, cd into the folder where my .c file is and then i type :
Code:
arm-linux-gcc -o hello hello.c

Which create my executable "hello" and this one is working. But like i said, this program only played with the terminal.

The board is starting with a script calling another executable which use the lcd display, i have the source of this executable. My idea was to look at what was in the source of this application (lots of folders and files) in order to understand how it was working. I wanted to test the toolchain on the source (with the makefile) to see if i was able to generate an executable from a application with folderS/fileS but when i try to "make" it i have this error.

In my understanding this is an object file but aside from that i don't see why it would not works.

Thank you for your future answers !

Detect NIC Interface In Linux

Dear Friends ,

One of My linux server , I have 4 NIC card . I plugged a network cable one of NIC card . Now How can I understand which interface (eth0 or eth1 or eth2 or eth3) is connected with the cable ?

Which command I need to use to find it ?


My second question is :
using 'ethtool ' output I got a line : "Link detected : yes"
what does it means ?

Difference Between Certain Types Of Filesystems?

I am very new to Linux, please excuse my question as I am sure it is going to sound a bit obvious to those with more than a novice amount of experience. I've done a lot of researching online but I cannot seem to find the information that I am specifically looking for.

I am confused about the definition of a "filesystem".

I am understanding the basic components of a Linux filesystem and that it includes folders like /boot, /dev, /usr, /var, etc...

I am also reading about other filesystems like HDFS and GPFS used in server applications. Am understanding they run on "nodes" which are separate parts of a working cluster. How do those work and what is the difference? Do they run on top of the Linux filesystem I am thinking of or are they completely different? Do these both have the /boot, /opt, etc subdirectories or am I completely off here?

To rephrase, do these HDFS and GPFS systems replace the basic Linux filesystem I am thinking of or are they mounted separately somehow? Not really sure how to phrase my question...

Thanks for any clarification.